:root {
  --tkm-ink: #262d35;
  --tkm-ink-soft: #39424c;
  --tkm-gold: #f4c542;
  --tkm-gold-deep: #d9aa2e;
  --tkm-paper: #f5f6f7;
  --tkm-line: rgba(38, 45, 53, 0.12);
  --tkm-shadow: 0 18px 45px rgba(20, 27, 34, 0.12);
  --tkm-header-height: 76px;
}

html {
  scroll-padding-top: calc(var(--tkm-header-height) + 16px);
}

body.site-body {
  color: var(--tkm-ink);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.site-body img {
  max-width: 100%;
}

/* Secondary page heroes must shrink with long equipment names on mobile. */
.secondary-hero > .w-100,
.secondary-hero > .w-100 > .col {
  min-width: 0;
  max-width: 100%;
}

.secondary-hero h1,
.secondary-hero h2,
.secondary-hero p {
  overflow-wrap: anywhere;
}

/* Header */
.site-navbar {
  min-height: var(--tkm-header-height);
  height: auto !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  transition: background-color 180ms ease, box-shadow 180ms ease,
    border-color 180ms ease;
  z-index: 9999;
}

.site-navbar.transparent {
  background: linear-gradient(
    180deg,
    rgba(19, 25, 31, 0.84) 0%,
    rgba(19, 25, 31, 0.58) 70%,
    rgba(19, 25, 31, 0) 100%
  ) !important;
  backdrop-filter: blur(5px);
}

.site-navbar.shrink {
  min-height: 68px;
  background: rgba(255, 255, 255, 0.97) !important;
  border-color: var(--tkm-line);
  box-shadow: 0 10px 32px rgba(24, 30, 36, 0.13);
  backdrop-filter: blur(12px);
}

.site-navbar .navbar-shell {
  min-height: var(--tkm-header-height);
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.1vw, 34px);
  position: relative;
}

.site-navbar .navbar-inner {
  height: auto;
}

.site-brand {
  width: 168px;
  min-width: 168px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 8px 16px;
  background: var(--tkm-gold);
  border-radius: 0 0 16px 16px;
  box-shadow: 0 9px 24px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 2;
  transition: height 180ms ease, box-shadow 180ms ease;
}

.site-brand::after,
.site-navbar .navbar-brand::after {
  display: none !important;
}

.site-brand img {
  width: 136px;
  height: auto !important;
  max-height: 42px;
  padding: 0 !important;
  object-fit: contain;
}

.site-navbar.shrink .site-brand {
  height: 54px;
  box-shadow: 0 7px 18px rgba(31, 36, 42, 0.15);
}

.site-navbar .nav-list {
  flex: 1 1 auto;
  margin-left: 0;
  min-width: 0;
  align-items: center;
}

.site-nav-list {
  display: flex;
  align-items: center;
  gap: 2px;
  margin: 0;
}

.site-navbar .site-nav-link {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 11px !important;
  border: 0 !important;
  border-radius: 10px !important;
  appearance: none;
  background: transparent !important;
  color: #fff;
  cursor: pointer;
  font-size: 0.93rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
  transition: color 160ms ease, background-color 160ms ease;
}

.site-navbar .site-nav-link:hover,
.site-navbar .site-nav-link:focus-visible,
.site-navbar .site-nav-link.show {
  color: #fff;
  background: rgba(255, 255, 255, 0.13);
}

.site-navbar.shrink .site-nav-link {
  color: var(--tkm-ink);
}

.site-navbar.shrink .site-nav-link:hover,
.site-navbar.shrink .site-nav-link:focus-visible,
.site-navbar.shrink .site-nav-link.show {
  color: var(--tkm-ink);
  background: rgba(244, 197, 66, 0.28);
}

.site-nav-list > .site-mega-dropdown {
  position: static;
}

.site-navbar .dropdown-menu {
  margin-top: 10px;
  border: 1px solid var(--tkm-line);
  border-radius: 16px;
  box-shadow: var(--tkm-shadow);
}

.site-mega-menu {
  top: calc(100% - 2px) !important;
  left: 186px !important;
  right: 0 !important;
  width: auto !important;
  max-height: calc(100vh - 104px);
  overflow-y: auto;
  padding: 16px;
}

.site-mega-link {
  height: 100%;
  min-height: 74px;
  display: grid !important;
  grid-template-columns: 66px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 8px !important;
  border: 1px solid rgba(38, 45, 53, 0.08);
  border-radius: 12px !important;
  background: #f8f9fa;
  color: var(--tkm-ink);
  white-space: normal;
  transition: border-color 150ms ease, background-color 150ms ease,
    transform 150ms ease;
}

.site-mega-link:hover,
.site-mega-link:focus-visible {
  border-color: rgba(217, 170, 46, 0.62);
  background: #fff8df;
  color: var(--tkm-ink);
  transform: translateY(-1px);
}

.site-mega-link img {
  width: 62px;
  height: 54px;
  object-fit: contain;
}

.site-mega-link span {
  min-width: 0;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.25;
}

.site-about-menu {
  min-width: 230px;
  padding: 8px;
}

.site-about-menu .dropdown-item {
  padding: 9px 11px;
  border-radius: 9px;
  font-weight: 600;
}

.site-nav-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex: 0 0 auto;
}

.site-phone-link,
.site-managers-toggle,
.site-mobile-call,
.site-menu-toggle {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
}

.site-phone-link {
  padding: 8px 13px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.32);
  background: rgba(15, 21, 27, 0.24);
}

.site-phone-link:hover,
.site-phone-link:focus-visible {
  color: var(--tkm-ink);
  border-color: var(--tkm-gold);
  background: var(--tkm-gold);
}

.site-navbar.shrink .site-phone-link {
  color: var(--tkm-ink);
  border-color: var(--tkm-line);
  background: #f4f5f6;
}

.site-managers-toggle {
  padding: 8px 13px;
  color: var(--tkm-ink) !important;
  border: 1px solid var(--tkm-gold) !important;
  background: var(--tkm-gold) !important;
}

.site-managers-toggle:hover,
.site-managers-toggle:focus-visible,
.site-managers-toggle.show {
  color: var(--tkm-ink) !important;
  background: #ffd761 !important;
}

.site-managers-menu {
  width: min(340px, calc(100vw - 28px));
  max-height: calc(100vh - 96px);
  overflow-y: auto;
  padding: 10px;
}

.site-managers-heading {
  margin: 3px 7px 8px;
  color: #7a828c;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.site-manager-link {
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: center;
  gap: 10px;
  padding: 9px !important;
  border-radius: 10px !important;
  color: var(--tkm-ink);
}

.site-manager-link:hover,
.site-manager-link:focus-visible {
  color: var(--tkm-ink);
  background: #fff5d2;
}

.site-manager-icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--tkm-ink);
  background: var(--tkm-gold);
}

.site-manager-name,
.site-manager-phone {
  display: block;
  line-height: 1.25;
}

.site-manager-name {
  font-weight: 750;
}

.site-manager-phone {
  margin-top: 2px;
  color: #727a83;
  font-size: 0.8rem;
}

.site-menu-toggle,
.site-mobile-call {
  width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.32) !important;
  background: rgba(20, 27, 33, 0.28);
}

.site-navbar.shrink .site-menu-toggle,
.site-navbar.shrink .site-mobile-call {
  color: var(--tkm-ink);
  border-color: var(--tkm-line) !important;
  background: #f4f5f6;
}

.site-menu-icon {
  width: 20px;
  display: grid;
  gap: 4px;
}

.site-menu-icon span {
  width: 100%;
  height: 2px;
  display: block;
  border-radius: 2px;
  background: currentColor;
}

.site-offcanvas {
  width: min(400px, 92vw) !important;
  border: 0;
  background: #f7f8f9;
}

.site-offcanvas .offcanvas-header {
  min-height: 72px;
  color: var(--tkm-ink);
  background: var(--tkm-gold);
}

.site-offcanvas .offcanvas-title {
  font-size: 1.15rem;
  font-weight: 850;
}

.site-offcanvas .offcanvas-body {
  padding: 18px;
}

.mobile-contact-card {
  margin-bottom: 16px;
  padding: 16px;
  border-radius: 16px;
  color: #fff;
  background: var(--tkm-ink);
}

.mobile-contact-card small {
  display: block;
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.68);
}

.mobile-contact-card a {
  color: #fff;
  font-size: 1.08rem;
  font-weight: 800;
  text-decoration: none;
}

.mobile-main-link,
.mobile-menu-group summary,
.mobile-menu-link,
.mobile-menu-sublink {
  border-radius: 10px;
  color: var(--tkm-ink);
  text-decoration: none;
}

/* .mobile-menu-link is the MOBILE half of the same operator report. It had ZERO
   rules in this file -- verified against the live stylesheet, not the workdir --
   so Запчасти rendered as a bare <a>: reboot's underline and link colour, no
   48px row, no padding, no bottom border, no 750 weight, while all 53 siblings
   had them. Far more visible than the desktop caret gap. Added to the SHARED
   lists rather than given its own rule, so an anchor and a <summary> stay
   interchangeable here. It deliberately does NOT get summary's "+" marker --
   same principle as the desktop caret: an affordance that opens nothing is a
   worse bug than uneven spacing. No space is reserved for it either, because
   summary uses justify-content:space-between and pushes the "+" to the right
   edge, so the LABELS already align. Different geometry, different answer. */
.mobile-main-link,
.mobile-menu-group summary,
.mobile-menu-link {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid var(--tkm-line);
  font-weight: 750;
  cursor: pointer;
}

.mobile-main-link:hover,
.mobile-main-link:focus-visible,
.mobile-menu-link:hover,
.mobile-menu-link:focus-visible,
.mobile-menu-group summary:hover,
.mobile-menu-group summary:focus-visible {
  color: var(--tkm-ink);
  background: #fff1bd;
}

.mobile-menu-group summary {
  justify-content: space-between;
  list-style: none;
}

.mobile-menu-group summary::-webkit-details-marker {
  display: none;
}

.mobile-menu-group summary::after {
  content: "+";
  color: var(--tkm-gold-deep);
  font-size: 1.3rem;
}

.mobile-menu-group[open] summary::after {
  content: "−";
}

.mobile-menu-items {
  display: grid;
  gap: 4px;
  padding: 7px 0 10px 12px;
}

.mobile-menu-sublink {
  display: block;
  padding: 8px 10px;
  background: #fff;
  font-size: 0.88rem;
  font-weight: 650;
}

.mobile-menu-sublink:hover,
.mobile-menu-sublink:focus-visible {
  color: var(--tkm-ink);
  background: #fff4c9;
}

/* Hero */
#hero {
  min-height: clamp(640px, 78svh, 790px);
  height: auto !important;
  max-height: none !important;
  display: flex !important;
  align-items: center;
  padding: calc(var(--tkm-header-height) + 54px) 0 72px !important;
  background-position: center 44% !important;
  isolation: isolate;
}

#hero .hero-overlay {
  opacity: 1 !important;
  background: linear-gradient(
    90deg,
    rgba(18, 23, 29, 0.9) 0%,
    rgba(18, 23, 29, 0.76) 43%,
    rgba(18, 23, 29, 0.38) 76%,
    rgba(18, 23, 29, 0.25) 100%
  ) !important;
}

#hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 120px;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(15, 20, 25, 0.28));
}

#hero .hero-content {
  width: 100%;
  z-index: 1;
}

.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 830px) 1fr;
  align-items: center;
}

.hero-copy {
  min-width: 0;
  color: #fff;
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(18, 23, 29, 0.28);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
}

.hero-eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--tkm-gold);
  box-shadow: 0 0 0 5px rgba(244, 197, 66, 0.17);
}

#hero .hero-title {
  max-width: 840px;
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 4.6vw, 4.55rem) !important;
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 1.04;
  text-wrap: balance;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.25);
}

.hero-description {
  max-width: 730px;
  margin-top: 24px;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1rem, 1.35vw, 1.24rem);
  font-weight: 400;
  line-height: 1.58;
}

.hero-description p:last-child {
  margin-bottom: 0;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.hero-actions .btn {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 20px;
  border-radius: 12px !important;
  font-weight: 800;
}

.hero-primary-action {
  color: var(--tkm-ink) !important;
  border-color: var(--tkm-gold) !important;
  background: var(--tkm-gold) !important;
  box-shadow: 0 12px 30px rgba(244, 197, 66, 0.22);
}

.hero-primary-action:hover,
.hero-primary-action:focus-visible {
  border-color: #ffda68 !important;
  background: #ffda68 !important;
  transform: translateY(-1px);
}

.hero-secondary-action {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.46) !important;
  background: rgba(18, 23, 29, 0.25) !important;
  backdrop-filter: blur(6px);
}

.hero-secondary-action:hover,
.hero-secondary-action:focus-visible {
  color: var(--tkm-ink) !important;
  border-color: #fff !important;
  background: #fff !important;
}

.hero-proof {
  max-width: 760px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 34px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.23);
  list-style: none;
}

.hero-proof li {
  min-width: 0;
  padding: 0 18px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
}

.hero-proof li:first-child {
  padding-left: 0;
}

.hero-proof li + li {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.hero-proof strong {
  display: block;
  margin-bottom: 2px;
  color: #fff;
  font-size: 0.94rem;
}

/* Homepage rhythm and alignment */
.home-page .container,
.site-navbar .container-xl {
  --bs-gutter-x: 2rem;
}

.home-page section {
  scroll-margin-top: calc(var(--tkm-header-height) + 12px);
}

.home-page #about-cats,
.home-page #about,
.home-page #advantages,
.home-page #news,
.home-page #faq {
  margin: 0 !important;
  padding-top: clamp(58px, 6vw, 88px) !important;
  padding-bottom: clamp(58px, 6vw, 88px) !important;
}

.home-page #tehcats,
.home-page #speciality,
.home-page #partners,
.home-page #reviews {
  margin: 0 !important;
  padding-top: clamp(58px, 6vw, 88px);
  padding-bottom: clamp(58px, 6vw, 88px);
}

.home-page #about-cats,
.home-page #advantages,
.home-page #news {
  background: var(--tkm-paper) !important;
  background-image: none !important;
}

.home-page #about,
.home-page #tehcats,
.home-page #speciality,
.home-page #reviews,
.home-page #faq {
  background: #fff;
}

.home-page h2,
.home-page .h1,
.home-page .h2 {
  color: var(--tkm-ink) !important;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.home-page .display-5,
.home-page .fs-1 {
  font-size: clamp(2rem, 3vw, 3.15rem) !important;
  line-height: 1.1;
}

.home-page .rounded-custom {
  border-radius: 16px !important;
}

.home-page .card {
  overflow: hidden;
  border: 1px solid var(--tkm-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 34px rgba(25, 32, 39, 0.09) !important;
}

.home-page .card.light-gradient-bg {
  background: #fff;
  background-image: none;
  transition: transform 180ms ease, box-shadow 180ms ease,
    border-color 180ms ease;
}

.home-page .card.light-gradient-bg:hover {
  border-color: rgba(217, 170, 46, 0.55) !important;
  box-shadow: 0 20px 46px rgba(25, 32, 39, 0.14) !important;
  transform: translateY(-4px);
}

.home-page .card .btn {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 16px;
}

.home-category-column {
  display: flex;
}

.home-category-column .card {
  width: 100%;
}

.home-section-intro {
  padding-right: clamp(12px, 2.5vw, 36px);
}

.home-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: #7a6540;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.home-section-kicker::before {
  content: "";
  width: 26px;
  height: 3px;
  border-radius: 2px;
  background: var(--tkm-gold);
}

#about-cats .top-wrapper {
  min-height: 174px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}

#about-cats .top-wrapper img {
  width: min(88%, 235px) !important;
  max-height: 160px;
  object-fit: contain;
}

#about-cats .card-header {
  border: 0;
}

#about-cats .card-body {
  color: #4f5862;
  line-height: 1.55;
}

#about-cats .card-footer {
  margin-top: auto;
  padding-top: 16px;
}

#about > .container > .row,
#advantages > .container > .row {
  align-items: center;
  row-gap: 30px;
}

#about img,
#advantages img {
  border-radius: 18px !important;
}

#about .about-images-cover > div {
  border: 7px solid #fff;
  box-shadow: 0 13px 30px rgba(24, 31, 37, 0.18);
}

#tehcats .row,
#speciality .row,
#news .row {
  --bs-gutter-x: 1.35rem;
  --bs-gutter-y: 1.35rem;
}

#tehcats .top-wrapper {
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#tehcats .top-wrapper img {
  max-height: 145px;
  object-fit: contain;
}

#cta1 {
  padding: clamp(58px, 6vw, 88px) 16px !important;
  background: #fff;
}

#cta1 > .container {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px !important;
  box-shadow: 0 24px 55px rgba(24, 31, 37, 0.2);
}

#faq .accordion {
  border: 1px solid var(--tkm-line);
  box-shadow: 0 14px 34px rgba(25, 32, 39, 0.08);
}

.site-body footer.container {
  --bs-gutter-x: 2rem;
}

@media (max-width: 1199.98px) and (min-width: 992px) {
  .site-navbar .navbar-shell {
    gap: 12px;
  }

  .site-brand {
    width: 146px;
    min-width: 146px;
    padding-inline: 12px;
  }

  .site-brand img {
    width: 122px;
  }

  .site-navbar .site-nav-link {
    padding-inline: 8px !important;
    font-size: 0.84rem;
  }

  .site-phone-number {
    display: none;
  }

  .site-phone-link {
    width: 42px;
    padding: 0;
  }

  .site-mega-menu {
    left: 158px !important;
  }
}

@media (max-width: 991.98px) {
  :root {
    --tkm-header-height: 64px;
  }

  .site-navbar,
  .site-navbar.shrink {
    min-height: var(--tkm-header-height);
  }

  .site-navbar.transparent {
    background: rgba(20, 27, 33, 0.84) !important;
    backdrop-filter: blur(9px);
  }

  .site-navbar .navbar-shell {
    min-height: var(--tkm-header-height);
    gap: 10px;
  }

  .site-brand,
  .site-navbar.shrink .site-brand {
    width: 138px;
    min-width: 138px;
    height: 50px;
    padding: 7px 11px;
    border-radius: 0 0 13px 13px;
  }

  .site-brand img {
    width: 116px;
    max-height: 36px;
  }

  .site-nav-actions {
    margin-left: auto;
  }

  #hero {
    min-height: max(720px, 100svh);
    padding: calc(var(--tkm-header-height) + 44px) 0 52px !important;
    background-position: 63% center !important;
  }

  #hero .hero-overlay {
    background: linear-gradient(
      180deg,
      rgba(18, 23, 29, 0.67) 0%,
      rgba(18, 23, 29, 0.78) 48%,
      rgba(18, 23, 29, 0.9) 100%
    ) !important;
  }

  .hero-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-copy {
    max-width: 720px;
  }

  #hero .hero-title {
    font-size: clamp(2.35rem, 7.4vw, 3.8rem) !important;
  }

  .hero-description {
    max-width: 650px;
  }

  .home-page .container,
  .site-navbar .container-xl,
  .site-body footer.container {
    --bs-gutter-x: 1.5rem;
  }

  .home-section-intro {
    margin-bottom: 8px;
    padding-right: 0;
  }
}

@media (max-width: 575.98px) {
  .site-navbar .container-xl {
    --bs-gutter-x: 1rem;
  }

  .site-brand,
  .site-navbar.shrink .site-brand {
    width: 126px;
    min-width: 126px;
    height: 48px;
    padding-inline: 9px;
  }

  .site-brand img {
    width: 106px;
  }

  #hero {
    min-height: max(700px, 100svh);
    padding-top: calc(var(--tkm-header-height) + 34px) !important;
  }

  .hero-eyebrow {
    margin-bottom: 15px;
    font-size: 0.68rem;
  }

  #hero .hero-title {
    font-size: clamp(2.1rem, 10.2vw, 2.8rem) !important;
    letter-spacing: -0.035em;
    line-height: 1.06;
  }

  .hero-description {
    margin-top: 18px;
    font-size: 0.98rem;
    line-height: 1.5;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    margin-top: 23px;
  }

  .hero-actions .btn {
    width: 100%;
  }

  .hero-proof {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 26px;
    padding-top: 14px;
  }

  .hero-proof li {
    padding-inline: 8px;
    font-size: 0.65rem;
  }

  .hero-proof strong {
    font-size: 0.72rem;
  }

  .home-page .container,
  .site-body footer.container {
    --bs-gutter-x: 1.5rem;
  }

  .home-page #about-cats,
  .home-page #about,
  .home-page #advantages,
  .home-page #news,
  .home-page #faq,
  .home-page #tehcats,
  .home-page #speciality,
  .home-page #partners,
  .home-page #reviews {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  #about-cats .top-wrapper {
    min-height: 155px;
  }

  #about .col-6.p-3 {
    padding: 7px !important;
  }

  #about .about-images-cover > div {
    width: 112px !important;
    height: 112px !important;
    font-size: 0.78rem;
  }

  #about .about-images-cover .display-5 {
    font-size: 1.75rem !important;
  }

  #cta1 {
    padding-inline: 12px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-navbar,
  .site-brand,
  .site-navbar .site-nav-link,
  .site-mega-link,
  .home-page .card.light-gradient-bg,
  .hero-actions .btn {
    transition: none !important;
  }
}

/* Category and product catalogue */
.catalog-page,
.product-page {
  overflow: clip;
  color: var(--tkm-ink);
  background: #f4f5f6;
}

.catalog-hero,
.product-hero {
  min-height: 610px;
  overflow: hidden;
  padding: calc(var(--tkm-header-height) + 22px) 0 54px;
  position: relative;
  color: #fff;
  background:
    linear-gradient(112deg, rgba(21, 27, 33, 0.98) 0%, rgba(34, 42, 50, 0.96) 58%, rgba(47, 57, 66, 0.95) 100%),
    #222a31;
}

.catalog-hero::before,
.product-hero::before {
  content: "";
  width: min(54vw, 760px);
  aspect-ratio: 1;
  position: absolute;
  top: -55%;
  right: -8%;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  box-shadow: 0 0 0 90px rgba(255, 255, 255, 0.018),
    0 0 0 180px rgba(255, 255, 255, 0.012);
}

.catalog-hero__glow,
.product-hero__glow {
  width: 420px;
  height: 420px;
  position: absolute;
  right: 11%;
  bottom: -52%;
  border-radius: 50%;
  background: rgba(244, 197, 66, 0.22);
  filter: blur(96px);
  pointer-events: none;
}

.catalog-breadcrumb {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 21px;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.catalog-breadcrumb a,
.catalog-breadcrumb span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.catalog-breadcrumb a {
  flex: 0 1 auto;
  color: rgba(255, 255, 255, 0.76);
  text-decoration: none;
}

.catalog-breadcrumb a:hover,
.catalog-breadcrumb a:focus-visible {
  color: var(--tkm-gold);
}

.catalog-breadcrumb span[aria-current="page"] {
  color: rgba(255, 255, 255, 0.48);
}

.catalog-hero__grid,
.product-hero__grid {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(390px, 0.98fr);
  align-items: center;
  gap: clamp(38px, 5vw, 82px);
}

.catalog-hero__content,
.product-hero__content {
  min-width: 0;
  position: relative;
  z-index: 2;
}

.catalog-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
  color: var(--tkm-gold);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.catalog-kicker::before {
  content: "";
  width: 30px;
  height: 2px;
  flex: 0 0 auto;
  background: currentColor;
}

.catalog-kicker--dark {
  color: #9a7418;
}

.catalog-hero h1,
.product-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.35rem, 4.6vw, 4.75rem);
  font-weight: 900;
  letter-spacing: -0.048em;
  line-height: 0.98;
  overflow-wrap: anywhere;
}

.catalog-hero__lead,
.product-hero__summary {
  max-width: 650px;
  margin: 22px 0 26px;
  color: rgba(255, 255, 255, 0.72);
  font-size: clamp(0.98rem, 1.35vw, 1.12rem);
  line-height: 1.65;
}

.catalog-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  appearance: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.88rem;
  font-weight: 850;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  transition: transform 170ms ease, box-shadow 170ms ease,
    background-color 170ms ease, border-color 170ms ease;
}

.catalog-button:hover,
.catalog-button:focus-visible {
  transform: translateY(-2px);
}

.catalog-button:focus-visible {
  outline: 3px solid rgba(244, 197, 66, 0.48);
  outline-offset: 3px;
}

.catalog-button--primary {
  color: var(--tkm-ink);
  background: var(--tkm-gold);
  box-shadow: 0 12px 28px rgba(244, 197, 66, 0.2);
}

.catalog-button--primary:hover,
.catalog-button--primary:focus-visible {
  color: var(--tkm-ink);
  background: #ffd458;
  box-shadow: 0 17px 34px rgba(244, 197, 66, 0.28);
}

.catalog-button--ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.07);
}

.catalog-button--ghost:hover,
.catalog-button--ghost:focus-visible {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.46);
  background: rgba(255, 255, 255, 0.12);
}

.catalog-button--dark {
  color: #fff;
  background: var(--tkm-ink);
}

.catalog-button--dark:hover,
.catalog-button--dark:focus-visible {
  color: #fff;
  background: #11171c;
}

.catalog-facts {
  max-width: 680px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 38px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.catalog-fact {
  min-width: 0;
  padding-right: 18px;
}

.catalog-fact + .catalog-fact {
  padding-left: 20px;
  border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.catalog-fact strong,
.catalog-fact span {
  display: block;
}

.catalog-fact strong {
  color: #fff;
  font-size: 1.04rem;
  font-weight: 900;
  line-height: 1.2;
}

.catalog-fact span {
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.54);
  font-size: 0.73rem;
  line-height: 1.38;
}

.catalog-hero__visual {
  min-width: 0;
  height: 390px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.catalog-hero__visual-ring,
.product-hero__image-ring {
  width: 76%;
  aspect-ratio: 1;
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.08), transparent 68%);
}

.catalog-hero__visual img {
  width: 112%;
  height: 100%;
  position: relative;
  z-index: 1;
  object-fit: contain;
  filter: drop-shadow(0 28px 28px rgba(0, 0, 0, 0.38));
}

.catalog-hero__visual--wide img {
  width: 124%;
}

.catalog-hero__visual-note {
  min-height: 43px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 15px;
  position: absolute;
  right: 0;
  bottom: 20px;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #fff;
  background: rgba(20, 26, 31, 0.72);
  box-shadow: 0 15px 32px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(12px);
  font-size: 0.76rem;
  font-weight: 800;
}

.catalog-hero__visual-note svg {
  color: var(--tkm-gold);
}

.catalog-listing,
.product-overview,
.product-related,
.product-managers,
.product-feature-section,
.product-legacy-section {
  padding: clamp(58px, 6.5vw, 92px) 0;
}

.catalog-listing {
  background: #f3f5f6;
}

.catalog-listing--categories,
.product-related,
.product-feature-section:nth-of-type(even) {
  background: #fff;
}

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

.catalog-section-heading > div {
  min-width: 0;
}

.catalog-section-heading .catalog-kicker {
  margin-bottom: 9px;
}

.catalog-section-heading h2,
.catalog-category-links h2,
.product-content-card h2 {
  margin: 0;
  color: var(--tkm-ink);
  font-size: clamp(1.75rem, 3vw, 2.7rem);
  font-weight: 900;
  letter-spacing: -0.036em;
  line-height: 1.06;
}

.catalog-section-heading > p {
  max-width: 510px;
  margin: 0;
  color: #69717a;
  font-size: 0.94rem;
  line-height: 1.6;
}

.catalog-section-heading__link,
.catalog-category-links__heading > a {
  flex: 0 0 auto;
  color: #80600e;
  font-size: 0.87rem;
  font-weight: 850;
  text-decoration: none;
}

.catalog-section-heading__link:hover,
.catalog-category-links__heading > a:hover {
  color: var(--tkm-ink);
}

.catalog-section-heading--compact {
  margin-bottom: 28px;
}

.catalog-product-grid > [class*="col-"] {
  display: flex;
}

.catalog-product-card {
  width: 100%;
  min-width: 0;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(38, 45, 53, 0.1);
  border-radius: 22px;
  color: var(--tkm-ink);
  background: #fff;
  box-shadow: 0 12px 32px rgba(22, 29, 35, 0.07);
  text-decoration: none;
  transition: transform 190ms ease, border-color 190ms ease,
    box-shadow 190ms ease;
}

.catalog-product-card:hover,
.catalog-product-card:focus-visible {
  color: var(--tkm-ink);
  border-color: rgba(217, 170, 46, 0.64);
  box-shadow: 0 22px 48px rgba(22, 29, 35, 0.14);
  transform: translateY(-5px);
}

.catalog-product-card:focus-visible {
  outline: 3px solid rgba(244, 197, 66, 0.54);
  outline-offset: 3px;
}

.catalog-product-card__media,
.catalog-product-card__body,
.catalog-product-card__footer,
.catalog-product-card__title,
.catalog-product-card__eyebrow,
.catalog-product-card__specs,
.catalog-product-card__summary,
.catalog-product-card__price-label,
.catalog-product-card__price {
  display: block;
}

.catalog-product-card__media {
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 25px 18px;
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 50% 74%, rgba(244, 197, 66, 0.17), transparent 31%),
    linear-gradient(155deg, #f7f8f8, #e9ecee);
}

.catalog-product-card__media::after {
  content: "";
  width: 67%;
  height: 18px;
  position: absolute;
  left: 16.5%;
  bottom: 25px;
  border-radius: 50%;
  background: rgba(36, 43, 50, 0.13);
  filter: blur(9px);
}

.catalog-product-card__media img {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  object-fit: contain;
  transition: transform 220ms ease;
}

.catalog-product-card:hover .catalog-product-card__media img {
  transform: scale(1.035) translateY(-3px);
}

.catalog-status-badge {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 11px;
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 3;
  border: 1px solid rgba(41, 119, 75, 0.16);
  border-radius: 999px;
  color: #23663f;
  background: rgba(230, 247, 237, 0.94);
  font-size: 0.69rem;
  font-weight: 850;
  line-height: 1;
}

.catalog-status-badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #35a263;
  box-shadow: 0 0 0 4px rgba(53, 162, 99, 0.12);
}

.catalog-status-badge--muted {
  border-color: rgba(128, 96, 14, 0.15);
  color: #765a14;
  background: rgba(255, 247, 220, 0.96);
}

.catalog-status-badge--muted::before {
  background: var(--tkm-gold-deep);
  box-shadow: 0 0 0 4px rgba(217, 170, 46, 0.14);
}

.catalog-variation-badge {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  border: 1px solid rgba(109, 82, 9, 0.16);
  border-radius: 999px;
  color: #6f540c;
  background: rgba(255, 247, 219, 0.96);
  font-size: 0.67rem;
  font-weight: 850;
  line-height: 1;
}

.catalog-variation-badge svg {
  flex: 0 0 auto;
}

.catalog-product-card__body {
  min-width: 0;
  flex: 1 1 auto;
  padding: 22px 23px 19px;
}

.catalog-product-card__eyebrow {
  margin-bottom: 7px;
  overflow: hidden;
  color: #8a6816;
  font-size: 0.69rem;
  font-weight: 850;
  letter-spacing: 0.065em;
  line-height: 1.25;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.catalog-product-card__title {
  min-height: 2.45em;
  display: -webkit-box;
  overflow: hidden;
  font-size: 1.2rem;
  font-weight: 900;
  letter-spacing: -0.025em;
  line-height: 1.22;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.catalog-product-card__summary {
  display: -webkit-box;
  min-height: 4.3em;
  margin-top: 14px;
  overflow: hidden;
  color: #707780;
  font-size: 0.8rem;
  line-height: 1.47;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.catalog-product-card__specs {
  margin-top: 15px;
}

.catalog-product-card__specs table,
.product-hero__specs table,
.product-tech-table table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}

.catalog-product-card__specs tr:not(:last-child) {
  border-bottom: 1px solid #edf0f1;
}

.catalog-product-card__specs td {
  padding: 7px 0;
  color: #777f87;
  font-size: 0.72rem;
  line-height: 1.3;
  vertical-align: top;
}

.catalog-product-card__specs td:first-child {
  width: 56%;
  padding-right: 12px;
}

.catalog-product-card__specs td:last-child {
  color: var(--tkm-ink);
  font-weight: 800;
  text-align: right;
}

.catalog-product-card__footer {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 22px;
  border-top: 1px solid #edf0f1;
  background: #fbfbfb;
}

.catalog-product-card__price-label {
  margin-bottom: 3px;
  color: #8a9198;
  font-size: 0.65rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.catalog-product-card__price {
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.1;
}

.catalog-product-card__delivery {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 3px 6px;
  margin-top: 7px;
  color: #80600e;
  font-size: 0.67rem;
  line-height: 1.25;
}

.catalog-product-card__delivery > span {
  color: #8a9198;
  font-weight: 750;
}

.catalog-product-card__delivery > strong {
  font-size: 0.74rem;
  font-weight: 900;
}

.catalog-product-card__arrow {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: var(--tkm-ink);
  background: var(--tkm-gold);
  transition: transform 170ms ease;
}

.catalog-product-card:hover .catalog-product-card__arrow {
  transform: translateX(3px);
}

.catalog-empty-state {
  min-height: 180px;
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 34px;
  border: 1px dashed rgba(38, 45, 53, 0.23);
  border-radius: 22px;
  background: #fff;
}

.catalog-empty-state__icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 16px;
  color: #856412;
  background: #fff4cf;
}

.catalog-empty-state > div {
  flex: 1 1 auto;
}

.catalog-empty-state h2 {
  margin: 0 0 7px;
  font-size: 1.25rem;
  font-weight: 900;
}

.catalog-empty-state p {
  margin: 0;
  color: #707780;
}

.catalog-category-links {
  padding: 50px 0 62px;
  border-top: 1px solid var(--tkm-line);
  background: #fff;
}

.catalog-category-links__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 23px;
}

.catalog-category-links h2 {
  font-size: 1.5rem;
}

.catalog-category-links__list {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.catalog-category-links__list a {
  min-height: 39px;
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid rgba(38, 45, 53, 0.13);
  border-radius: 999px;
  color: #56606a;
  background: #f7f8f8;
  font-size: 0.78rem;
  font-weight: 750;
  text-decoration: none;
  transition: border-color 150ms ease, color 150ms ease,
    background-color 150ms ease;
}

.catalog-category-links__list a:hover,
.catalog-category-links__list a:focus-visible,
.catalog-category-links__list a.is-current {
  border-color: var(--tkm-gold);
  color: var(--tkm-ink);
  background: #fff5d3;
}

.catalog-category-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--tkm-line);
  border-radius: 22px;
  color: var(--tkm-ink);
  background: #fff;
  box-shadow: 0 12px 32px rgba(22, 29, 35, 0.07);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.catalog-category-card:hover {
  color: var(--tkm-ink);
  box-shadow: 0 22px 46px rgba(22, 29, 35, 0.13);
  transform: translateY(-4px);
}

.catalog-category-card__media {
  height: 230px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: linear-gradient(145deg, #f6f7f7, #e8ebed);
}

.catalog-category-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.catalog-category-card__body {
  flex: 1 1 auto;
  padding: 22px 23px 14px;
}

.catalog-category-card__body > span,
.catalog-category-card__body > strong {
  display: block;
}

.catalog-category-card__eyebrow {
  margin-bottom: 7px;
  color: #8a6816;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.catalog-category-card__body strong {
  margin-bottom: 9px;
  font-size: 1.17rem;
  font-weight: 900;
}

.catalog-category-card__body > span:last-child {
  color: #707780;
  font-size: 0.82rem;
  line-height: 1.5;
}

.catalog-category-card__action {
  padding: 15px 23px 20px;
  color: #80600e;
  font-size: 0.78rem;
  font-weight: 850;
}

/* Product detail */
.product-hero {
  min-height: 0;
  padding-bottom: 48px;
}

.product-hero__grid {
  grid-template-columns: minmax(340px, 0.88fr) minmax(0, 1.12fr);
  align-items: stretch;
  gap: clamp(36px, 4vw, 64px);
}

.product-hero__media {
  min-width: 0;
  min-height: 430px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px 24px 18px;
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 26px;
  background:
    radial-gradient(circle at 50% 70%, rgba(244, 197, 66, 0.16), transparent 34%),
    rgba(255, 255, 255, 0.055);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(5px);
}

.product-hero__media > .catalog-status-badge {
  position: relative;
  top: auto;
  left: auto;
  align-self: flex-start;
}

.product-hero__image-stage {
  min-height: 290px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.product-hero__image-stage img {
  width: 100%;
  max-width: 520px;
  height: auto;
  max-height: 330px;
  position: relative;
  z-index: 1;
  object-fit: contain;
  filter: drop-shadow(0 27px 24px rgba(0, 0, 0, 0.39));
}

.product-hero__media-caption {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.52);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.product-hero__content {
  align-self: center;
}

.product-hero h1 {
  font-size: clamp(2.25rem, 4vw, 4.15rem);
}

.product-hero__summary {
  margin: 15px 0 18px;
  font-size: 0.93rem;
  line-height: 1.52;
}

.product-hero__specs {
  margin: 15px 0 18px;
  padding: 3px 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.045);
}

.product-hero__specs tr:not(:last-child) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.product-hero__specs td {
  padding: 8px 0;
  color: rgba(255, 255, 255, 0.56);
  font-size: 0.72rem;
  line-height: 1.25;
  vertical-align: top;
}

.product-hero__specs td:first-child {
  width: 58%;
  padding-right: 14px;
}

.product-hero__specs td:last-child {
  color: #fff;
  font-weight: 800;
  text-align: right;
}

.product-purchase {
  padding: 18px 20px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 18px;
  background: rgba(12, 17, 21, 0.28);
}

.product-purchase__price > span,
.product-purchase__price > strong,
.product-purchase__price > small {
  display: block;
}

.product-purchase__price > span {
  margin-bottom: 2px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-purchase__price > strong {
  color: #fff;
  font-size: clamp(1.4rem, 2.2vw, 2rem);
  font-weight: 900;
  letter-spacing: -0.025em;
}

.product-purchase__price > small {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.44);
  font-size: 0.68rem;
  line-height: 1.4;
}

.product-delivery-term {
  min-height: 40px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin-top: 13px;
  padding: 9px 11px;
  border: 1px solid rgba(244, 197, 66, 0.32);
  border-radius: 11px;
  color: var(--tkm-gold);
  background: rgba(244, 197, 66, 0.08);
}

.product-delivery-term svg {
  flex: 0 0 auto;
}

.product-delivery-term span {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.67rem;
  font-weight: 750;
}

.product-delivery-term strong {
  color: #fff;
  font-size: 0.8rem;
  font-weight: 900;
  text-align: right;
}

.product-purchase__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 14px;
}

.product-purchase__actions .catalog-button {
  min-height: 44px;
  padding: 10px 14px;
  font-size: 0.76rem;
}

.product-document-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 13px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.73rem;
  font-weight: 750;
  text-decoration: none;
}

.product-document-link:hover,
.product-document-link:focus-visible {
  color: var(--tkm-gold);
}

.product-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 15px;
}

.product-trust-row span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.68rem;
  font-weight: 750;
}

.product-trust-row svg {
  flex: 0 0 auto;
  color: var(--tkm-gold);
}

.product-admin-tools {
  padding: 22px 0;
  border-bottom: 1px solid var(--tkm-line);
  background: #fff6d9;
}

.product-admin-tools .container {
  display: flex;
  align-items: center;
  gap: 22px;
}

.product-admin-tools strong {
  flex: 0 0 auto;
}

.product-admin-tools .container > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-admin-tools .catalog-button {
  min-height: 38px;
  padding: 8px 13px;
  font-size: 0.72rem;
}

.product-admin-tools__file-state {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 8px 13px;
  border: 1px dashed #8a7c52;
  border-radius: var(--tkm-radius-sm);
  color: #534a32;
  background: rgba(255, 255, 255, 0.62);
  font-size: 0.76rem;
  font-weight: 700;
}

.product-overview {
  background: #f3f5f6;
}

.product-overview__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 22px;
}

.product-content-card {
  min-width: 0;
  padding: clamp(25px, 3vw, 40px);
  border: 1px solid rgba(38, 45, 53, 0.1);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 13px 34px rgba(22, 29, 35, 0.06);
}

.product-content-card .catalog-kicker {
  margin-bottom: 10px;
}

.product-content-card h2 {
  margin-bottom: 24px;
  font-size: clamp(1.55rem, 2.6vw, 2.25rem);
}

.product-rich-content {
  min-width: 0;
  color: #5e6770;
  font-size: 0.91rem;
  line-height: 1.7;
}

.product-rich-content > :last-child {
  margin-bottom: 0;
}

.product-rich-content h2,
.product-rich-content h3,
.product-rich-content h4 {
  margin: 1.4em 0 0.55em;
  color: var(--tkm-ink);
  font-weight: 900;
  letter-spacing: -0.025em;
}

.product-rich-content img,
.product-rich-content video,
.product-rich-content iframe {
  max-width: 100% !important;
  height: auto;
  border-radius: 15px;
}

.product-rich-content table {
  width: 100% !important;
  border-collapse: collapse;
}

.product-rich-content td,
.product-rich-content th {
  padding: 10px 12px;
  border: 1px solid #e2e5e7;
  font-size: 0.8rem;
  vertical-align: top;
}

.product-rich-content--specs {
  margin-top: 18px;
  overflow-x: auto;
}

.product-tech-table {
  overflow: hidden;
  border: 1px solid #e2e5e7;
  border-radius: 14px;
}

.product-tech-table tr:not(:last-child) {
  border-bottom: 1px solid #e5e7e9;
}

.product-tech-table tr:nth-child(even) {
  background: #f7f8f8;
}

.product-tech-table td {
  padding: 12px 14px;
  color: #666f78;
  font-size: 0.8rem;
  line-height: 1.4;
  vertical-align: top;
}

.product-tech-table td:first-child {
  width: 58%;
  padding-right: 18px;
}

.product-tech-table td:last-child {
  color: var(--tkm-ink);
  font-weight: 800;
  text-align: right;
}

.product-brand-card {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid #e5e7e9;
}

.product-brand-card img {
  width: 130px;
  height: 60px;
  object-fit: contain;
  object-position: left center;
}

.product-brand-card span,
.product-brand-card strong {
  display: block;
}

.product-brand-card span {
  color: #8a9198;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.product-brand-card strong {
  margin-top: 2px;
  font-size: 1.02rem;
  font-weight: 900;
}

.product-brand-card p {
  margin: 6px 0 0;
  color: #777f87;
  font-size: 0.75rem;
  line-height: 1.45;
}

.product-configuration-selector {
  margin: 16px 0;
  padding: 12px 14px 10px;
  border: 1px solid rgba(244, 197, 66, 0.32);
  border-radius: 16px;
  background: rgba(12, 17, 21, 0.34);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.12);
}

.product-configuration-selector__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 2px 8px;
}

.product-configuration-selector__heading span {
  display: block;
  color: var(--tkm-gold);
  font-size: 0.57rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.product-configuration-selector__heading h2 {
  margin: 1px 0 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: -0.015em;
  line-height: 1.15;
}

.product-configuration-selector__heading > small {
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.61rem;
  font-weight: 850;
}

.product-configuration-selector__list {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.product-configuration-option {
  min-width: 0;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  padding: 7px 2px;
}

.product-configuration-option + .product-configuration-option {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.product-configuration-option__number {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--tkm-gold);
  background: rgba(244, 197, 66, 0.12);
  font-size: 0.52rem;
  font-weight: 900;
}

.product-configuration-option h3 {
  min-width: 0;
  margin: 0;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 820;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.product-configuration-option > strong {
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.product-configuration-option__phone {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 5px 9px;
  border: 1px solid rgba(244, 197, 66, 0.48);
  border-radius: 9px;
  color: var(--tkm-gold);
  background: rgba(244, 197, 66, 0.08);
  font-size: 0.65rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.product-configuration-option__phone:hover,
.product-configuration-option__phone:focus-visible {
  color: var(--tkm-ink);
  background: var(--tkm-gold);
}

.product-configuration-option__phone svg {
  flex: 0 0 auto;
}

.product-configuration-selector > p {
  margin: 7px 2px 0;
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.59rem;
  line-height: 1.35;
}

/* Full-width band under the hero grid: key specs + configurations
   moved out of the right-hand column to keep it level with the image. */
.product-hero__below {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
  align-items: start;
  gap: 18px clamp(18px, 2.5vw, 32px);
  margin-top: clamp(26px, 3.5vw, 40px);
  position: relative;
  z-index: 2;
}

.product-hero__below .product-hero__specs,
.product-hero__below .product-configuration-selector {
  margin: 0;
}

.product-hero__below .product-hero__specs {
  padding: 4px 18px;
}

.product-hero__below .product-hero__specs td {
  padding: 10px 0;
  font-size: 0.76rem;
}

.product-hero__below .product-configuration-selector {
  padding: 14px 18px 12px;
}

.product-related {
  background: #fff;
}

.product-managers {
  padding-top: 58px;
  padding-bottom: 58px;
  border-top: 1px solid var(--tkm-line);
  background: #f3f5f6;
}

.product-legacy-section,
.product-feature-section {
  background: #fff;
}

.product-rich-content--feature {
  padding: clamp(24px, 4vw, 48px);
  overflow: hidden;
  border: 1px solid var(--tkm-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(22, 29, 35, 0.07);
}

.product-video {
  background: #20272e;
}

.product-video .catalog-kicker,
.product-video .catalog-section-heading h2 {
  color: #fff;
}

.product-video video {
  width: 100%;
  max-height: 720px;
  display: block;
  border-radius: 22px;
  background: #111;
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.28);
}

.product-gallery--muted,
.product-parameters {
  background: #f3f5f6;
}

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

.product-gallery__grid button {
  aspect-ratio: 4 / 3;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 17px;
  background: #e6e9eb;
  cursor: zoom-in;
}

.product-gallery__grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease;
}

.product-gallery__grid button:hover img,
.product-gallery__grid button:focus-visible img {
  transform: scale(1.04);
}

.product-lightbox .modal-dialog {
  width: min(1180px, calc(100vw - 24px));
  max-width: none;
  margin-right: auto;
  margin-left: auto;
}

.product-lightbox .modal-content {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  background: #11161a;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.48);
}

.product-lightbox__image {
  width: 100%;
  height: auto;
  max-height: calc(100vh - 116px);
  display: block;
  object-fit: contain;
  background: #11161a;
}

.product-colors {
  text-align: center;
}

.product-colors .catalog-section-heading {
  text-align: left;
}

.product-colors__stage {
  width: min(100%, 820px);
  height: 450px;
  margin: 0 auto;
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 75%, rgba(244, 197, 66, 0.18), transparent 30%),
    #eef0f1;
}

.product-colors__stage .car-color-image {
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.product-colors .car-color-name {
  margin: 18px 0 12px;
  color: var(--tkm-ink);
  font-size: 1rem;
  font-weight: 850;
}

.product-colors__controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 11px;
}

.product-colors__controls .car-color {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 4px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(38, 45, 53, 0.25),
    0 7px 16px rgba(22, 29, 35, 0.13);
}

@media (max-width: 1199.98px) {
  .catalog-hero,
  .product-hero {
    min-height: 0;
  }

  .catalog-hero__grid,
  .product-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(350px, 0.9fr);
    gap: 34px;
  }

  .catalog-hero__visual {
    height: 350px;
  }

  .product-hero__media {
    min-height: 400px;
  }

  .product-hero__image-stage {
    min-height: 260px;
  }

  .product-hero__image-stage img {
    height: auto;
    max-height: 280px;
  }

  .product-purchase__actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-configuration-option {
    gap: 6px;
  }

  .product-configuration-option__phone {
    padding-right: 7px;
    padding-left: 7px;
    font-size: 0.61rem;
  }
}

@media (max-width: 991.98px) {
  .catalog-hero,
  .product-hero {
    padding-top: calc(var(--tkm-header-height) + 20px);
    padding-bottom: 46px;
  }

  .catalog-hero__grid,
  .product-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .catalog-hero__content {
    max-width: 760px;
  }

  .catalog-hero__visual {
    width: min(100%, 690px);
    height: 310px;
    margin: 0 auto;
  }

  .catalog-hero__visual img,
  .catalog-hero__visual--wide img {
    width: 100%;
  }

  .catalog-hero__visual-note {
    right: 8%;
  }

  .product-hero__media {
    min-height: 370px;
    order: 2;
  }

  .product-hero__content {
    order: 1;
  }

  .product-hero__image-stage {
    min-height: 250px;
  }

  .product-hero__image-stage img {
    height: auto;
    max-height: 270px;
  }

  .product-purchase__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-overview__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-admin-tools .container {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 767.98px) {
  .catalog-hero h1,
  .product-hero h1 {
    font-size: clamp(2.1rem, 11vw, 3.2rem);
    line-height: 1.01;
  }

  .catalog-hero__lead {
    margin-top: 17px;
  }

  .catalog-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 13px;
    margin-bottom: 27px;
  }

  .catalog-section-heading > p {
    max-width: none;
  }

  .catalog-product-card__media {
    height: 245px;
  }

  .catalog-empty-state {
    align-items: flex-start;
    flex-direction: column;
    padding: 26px;
  }

  .catalog-empty-state .catalog-button {
    width: 100%;
  }

  .product-purchase__actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .product-colors__stage {
    height: 330px;
  }
}

@media (max-width: 575.98px) {
  .catalog-hero,
  .product-hero {
    padding-top: calc(var(--tkm-header-height) + 14px);
    padding-bottom: 34px;
  }

  .catalog-breadcrumb {
    margin-bottom: 15px;
    font-size: 0.67rem;
  }

  .catalog-hero__lead,
  .product-hero__summary {
    font-size: 0.88rem;
    line-height: 1.55;
  }

  .catalog-hero__content > .catalog-button {
    width: 100%;
  }

  .catalog-facts {
    margin-top: 28px;
    padding-top: 18px;
  }

  .catalog-fact {
    padding-right: 8px;
  }

  .catalog-fact + .catalog-fact {
    padding-left: 10px;
  }

  .catalog-fact strong {
    font-size: 0.84rem;
  }

  .catalog-fact span {
    font-size: 0.61rem;
  }

  .catalog-hero__visual {
    height: 230px;
  }

  .catalog-hero__visual-note {
    min-height: 37px;
    right: 0;
    bottom: 0;
    padding: 8px 11px;
    font-size: 0.67rem;
  }

  .catalog-listing,
  .product-overview,
  .product-related,
  .product-feature-section,
  .product-legacy-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .catalog-product-card__media {
    height: 225px;
  }

  .catalog-product-card__body {
    padding: 19px 19px 16px;
  }

  .catalog-product-card__footer {
    padding: 14px 18px;
  }

  .catalog-category-links__heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .catalog-category-links__list {
    gap: 7px;
  }

  .catalog-category-links__list a {
    min-height: 36px;
    padding: 7px 11px;
    font-size: 0.7rem;
  }

  .product-hero__media {
    min-height: 290px;
    padding: 16px;
    border-radius: 20px;
  }

  .product-hero__image-stage {
    min-height: 190px;
  }

  .product-hero__image-stage img {
    height: auto;
    max-height: 205px;
  }

  .product-hero__media-caption {
    gap: 10px;
    font-size: 0.6rem;
  }

  .product-hero__specs {
    padding: 3px 12px;
  }

  .product-hero__specs td {
    padding: 7px 0;
    font-size: 0.66rem;
  }

  .product-purchase {
    padding: 16px;
  }

  .product-delivery-term {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .product-delivery-term strong {
    grid-column: 2;
    text-align: left;
  }

  .product-trust-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .product-content-card {
    padding: 22px 18px;
    border-radius: 19px;
  }

  .product-configuration-selector {
    padding-right: 11px;
    padding-left: 11px;
  }

  .product-configuration-option {
    grid-template-columns: 24px minmax(0, 1fr) auto;
  }

  .product-configuration-option__phone {
    grid-column: 2 / 4;
    justify-self: start;
    min-height: 28px;
  }

  .product-brand-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 11px;
  }

  .product-tech-table {
    overflow-x: auto;
  }

  .product-tech-table table {
    min-width: 420px;
  }

  .product-rich-content--feature {
    padding: 20px 16px;
    border-radius: 18px;
  }

  .product-gallery__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-colors__stage {
    height: 250px;
  }

  .product-admin-tools .container > div,
  .product-admin-tools .catalog-button,
  .product-admin-tools__file-state {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .catalog-button,
  .catalog-product-card,
  .catalog-product-card__media img,
  .catalog-product-card__arrow,
  .catalog-category-card,
  .product-gallery__grid img {
    transition: none !important;
  }
}

/* Editorial and company pages — 2026-07 */
.about-page .container-xl,
.article-page .container-xl,
.news-index-page .container-xl {
  --bs-gutter-x: 2rem;
}

.content-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: clamp(34px, 4vw, 56px);
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.78rem;
  font-weight: 700;
}

.content-breadcrumb a {
  color: rgba(255, 255, 255, 0.76);
  text-decoration: none;
}

.content-breadcrumb a:hover,
.content-breadcrumb a:focus-visible {
  color: var(--tkm-gold);
}

/* About page hero */
.about-page-hero {
  overflow: hidden;
  padding: calc(var(--tkm-header-height) + 50px) 0 clamp(72px, 7vw, 108px);
  position: relative;
  color: #fff;
  background:
    radial-gradient(circle at 9% 16%, rgba(244, 197, 66, 0.18), transparent 27%),
    radial-gradient(circle at 88% 75%, rgba(255, 255, 255, 0.075), transparent 30%),
    #1e252b;
}

.about-page-hero::before,
.news-index-hero::before,
.article-hero::before {
  content: "";
  width: 430px;
  height: 430px;
  position: absolute;
  right: -210px;
  top: -200px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  box-shadow: 0 0 0 72px rgba(255, 255, 255, 0.018),
    0 0 0 144px rgba(255, 255, 255, 0.014);
  pointer-events: none;
}

.about-page-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.78fr);
  align-items: center;
  gap: clamp(48px, 7vw, 108px);
}

.about-page-hero__content {
  position: relative;
  z-index: 1;
}

.about-page-hero h1 {
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 5.4vw, 5.5rem);
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 0.98;
  text-wrap: balance;
}

.about-page-hero__content > p {
  max-width: 720px;
  margin: 25px 0 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: clamp(1.02rem, 1.45vw, 1.22rem);
  line-height: 1.62;
}

.about-page-hero__proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-top: 38px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.1);
}

.about-page-hero__proof > div {
  min-width: 0;
  padding: 19px 20px;
  background: rgba(19, 25, 30, 0.66);
}

.about-page-hero__proof strong,
.about-page-hero__proof span {
  display: block;
}

.about-page-hero__proof strong {
  color: var(--tkm-gold);
  font-size: 1.05rem;
  font-weight: 900;
}

.about-page-hero__proof span {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.75rem;
  line-height: 1.35;
}

.about-page-hero__visual {
  min-height: 590px;
  overflow: hidden;
  position: relative;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 30px;
  background: #323a42;
  box-shadow: 0 34px 80px rgba(0, 0, 0, 0.32);
  transform: rotate(1.2deg);
}

.about-page-hero__visual::after {
  content: "";
  position: absolute;
  inset: 44% 0 0;
  background: linear-gradient(180deg, transparent, rgba(15, 20, 24, 0.9));
}

.about-page-hero__visual img {
  width: 100%;
  height: 590px;
  object-fit: cover;
}

.about-page-hero__visual figcaption {
  position: absolute;
  right: 28px;
  bottom: 27px;
  left: 28px;
  z-index: 1;
}

.about-page-hero__visual strong,
.about-page-hero__visual span {
  display: block;
}

.about-page-hero__visual strong {
  color: #fff;
  font-size: 1.22rem;
  font-weight: 850;
}

.about-page-hero__visual span {
  max-width: 360px;
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.67);
  font-size: 0.8rem;
}

/* About story */
#about.about-story-section,
.home-page #about.about-story-section {
  margin: 0 !important;
  padding: clamp(72px, 7vw, 108px) 0 !important;
  background: #fff !important;
}

.about-story-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 0.78fr);
  align-items: stretch;
  gap: clamp(34px, 5.5vw, 82px);
}

.about-story-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, 4vw, 54px);
  border: 1px solid var(--tkm-line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 3% 4%, rgba(244, 197, 66, 0.12), transparent 29%),
    #f5f6f7;
}

.about-story-copy__text {
  color: #58616a;
  font-size: 1rem;
  line-height: 1.72;
}

.about-story-copy__text > :first-child {
  margin-top: 0;
}

.about-story-copy__text > :last-child {
  margin-bottom: 0;
}

.about-story-copy .section-link {
  margin-top: 28px;
}

.about-story-visual {
  min-height: 540px;
  overflow: hidden;
  position: relative;
  margin: 0;
  border-radius: 24px;
  background: #dfe4e7;
  box-shadow: 0 22px 54px rgba(25, 32, 39, 0.15);
}

#about .about-story-visual img {
  width: 100%;
  height: 100%;
  min-height: 540px;
  border-radius: 0 !important;
  object-fit: cover;
}

.about-story-visual::after {
  content: "";
  position: absolute;
  inset: 55% 0 0;
  background: linear-gradient(180deg, transparent, rgba(18, 24, 29, 0.7));
}

.about-story-visual figcaption {
  width: 158px;
  position: absolute;
  right: 23px;
  bottom: 23px;
  z-index: 1;
  padding: 18px 19px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 16px;
  color: #fff;
  background: rgba(24, 31, 37, 0.78);
  backdrop-filter: blur(8px);
}

.about-story-visual figcaption strong,
.about-story-visual figcaption span {
  display: block;
}

.about-story-visual figcaption strong {
  color: var(--tkm-gold);
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
}

.about-story-visual figcaption span {
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.72rem;
  line-height: 1.35;
}

.about-values-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}

.about-value-card {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px;
  border: 1px solid var(--tkm-line);
  border-radius: 17px;
  background: #fff;
}

.about-value-card__icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #654b0c;
  background: var(--tkm-gold);
}

.about-value-card strong,
.about-value-card span {
  display: block;
}

.about-value-card strong {
  color: var(--tkm-ink);
  font-size: 0.91rem;
  font-weight: 850;
  line-height: 1.25;
}

.about-value-card div > span {
  margin-top: 6px;
  color: #707880;
  font-size: 0.76rem;
  line-height: 1.45;
}

/* Brand directory */
#brands.brands-section {
  margin: 0 !important;
  padding: clamp(74px, 7vw, 110px) 0 !important;
  position: relative;
  background:
    radial-gradient(circle at 91% 7%, rgba(244, 197, 66, 0.13), transparent 24%),
    #20272e !important;
}

.brand-showcase-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 15px;
}

.brand-showcase-card {
  min-width: 0;
  min-height: 238px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 15px 36px rgba(0, 0, 0, 0.15);
  transition: transform 180ms ease, border-color 180ms ease;
}

.brand-showcase-card:hover {
  border-color: rgba(244, 197, 66, 0.75);
  transform: translateY(-4px);
}

.brand-showcase-card__visual {
  height: 112px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(38, 45, 53, 0.08);
  background: #f6f6f4;
}

.brand-showcase-card__visual img {
  width: 100%;
  height: 76px;
  object-fit: contain;
}

.brand-showcase-card__body {
  padding: 17px 18px 19px;
}

.brand-showcase-card h3 {
  margin: 0;
  color: var(--tkm-ink);
  font-size: 0.94rem;
  font-weight: 850;
  line-height: 1.2;
}

.brand-showcase-card p {
  display: -webkit-box;
  overflow: hidden;
  margin: 8px 0 0;
  color: #707880;
  font-size: 0.72rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

/* Advantages */
#advantages.advantages-section,
.home-page #advantages.advantages-section {
  margin: 0 !important;
  padding: clamp(72px, 7vw, 108px) 0 !important;
  background: #fff !important;
}

.advantages-panel {
  min-height: 610px;
  display: grid;
  grid-template-columns: minmax(390px, 0.9fr) minmax(0, 1.1fr);
  overflow: hidden;
  border-radius: 28px;
  color: #fff;
  background: #20272e;
  box-shadow: 0 28px 68px rgba(24, 31, 37, 0.2);
}

.advantages-panel__visual {
  min-height: 610px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  position: relative;
  padding: 32px;
  background:
    radial-gradient(circle at 18% 20%, rgba(244, 197, 66, 0.24), transparent 29%),
    #f0f1f1;
}

.advantages-panel__visual img {
  width: 112%;
  max-width: none;
  position: absolute;
  left: -5%;
  bottom: 90px;
  object-fit: contain;
}

.advantages-panel__label {
  position: absolute;
  top: 27px;
  left: 28px;
  z-index: 1;
  padding: 8px 12px;
  border-radius: 999px;
  color: #5b430a;
  background: var(--tkm-gold);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.advantages-panel__visual-note {
  position: relative;
  z-index: 1;
  padding: 19px 20px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  color: #fff;
  background: rgba(29, 36, 42, 0.9);
  backdrop-filter: blur(9px);
}

.advantages-panel__visual-note strong,
.advantages-panel__visual-note span {
  display: block;
}

.advantages-panel__visual-note strong {
  font-size: 0.96rem;
  font-weight: 850;
}

.advantages-panel__visual-note span {
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.66);
  font-size: 0.75rem;
  line-height: 1.4;
}

.advantages-panel__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(42px, 5.5vw, 82px);
}

.advantages-panel__content h2 {
  max-width: 680px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(2.3rem, 4vw, 4rem) !important;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.02;
  text-wrap: balance;
}

.advantages-panel__content > p {
  max-width: 650px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 1rem;
  line-height: 1.65;
}

.advantages-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin: 35px 0 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.1);
}

.advantages-stats > div {
  padding: 20px 22px;
  background: rgba(255, 255, 255, 0.035);
}

.advantages-stats dt {
  color: var(--tkm-gold);
  font-size: clamp(1.7rem, 2.6vw, 2.45rem);
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1;
}

.advantages-stats dd {
  margin: 7px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.76rem;
}

/* Partners */
#partners.partners-section,
.home-page #partners.partners-section {
  margin: 0 !important;
  padding: clamp(68px, 6.5vw, 96px) 0 !important;
  background: #f4f5f6 !important;
}

.partners-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.partner-card {
  min-width: 0;
  min-height: 156px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  border: 1px solid var(--tkm-line);
  border-radius: 17px;
  background: #fff;
}

.partner-card__visual {
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.partner-card__visual img {
  width: 100%;
  height: 70px;
  object-fit: contain;
}

.partner-card h3 {
  margin: 10px 0 0;
  color: var(--tkm-ink);
  font-size: 0.84rem;
  font-weight: 850;
  text-align: center;
}

.partner-card__copy {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 6px;
  color: #7b838b;
  font-size: 0.68rem;
  line-height: 1.4;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Reviews */
#reviews.reviews-section,
.home-page #reviews.reviews-section {
  margin: 0 !important;
  padding: clamp(70px, 7vw, 104px) 0 !important;
  background: #fff !important;
}

.reviews-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 40px) / 3);
  gap: 20px;
  overflow-x: auto;
  padding: 2px 2px 17px;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--tkm-gold-deep) #e9ebec;
  scrollbar-width: thin;
}

.reviews-grid:focus-visible {
  outline: 3px solid rgba(244, 197, 66, 0.72);
  outline-offset: 5px;
}

.review-card {
  min-width: 0;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  padding: 27px 28px;
  border: 1px solid var(--tkm-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 13px 34px rgba(24, 31, 38, 0.075);
  scroll-snap-align: start;
}

.review-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.review-card__quote {
  height: 39px;
  color: var(--tkm-gold);
  font-family: Georgia, serif;
  font-size: 3.6rem;
  font-weight: 900;
  line-height: 0.9;
}

.review-card__stars {
  display: flex;
  gap: 2px;
  color: var(--tkm-gold-deep);
}

.review-card blockquote {
  flex: 1;
  margin: 23px 0 27px;
  color: #5d6670;
  font-size: 0.94rem;
  line-height: 1.65;
}

.review-card blockquote > :last-child {
  margin-bottom: 0;
}

.review-card footer {
  padding-top: 20px;
  border-top: 1px solid var(--tkm-line);
}

.review-card footer strong,
.review-card footer span {
  display: block;
}

.review-card footer strong {
  color: var(--tkm-ink);
  font-size: 0.91rem;
  font-weight: 850;
}

.review-card footer span {
  margin-top: 3px;
  color: #858c93;
  font-size: 0.71rem;
}

/* Article page */
.article-hero {
  overflow: hidden;
  padding: calc(var(--tkm-header-height) + 46px) 0 clamp(68px, 7vw, 104px);
  position: relative;
  color: #fff;
  background:
    radial-gradient(circle at 10% 12%, rgba(244, 197, 66, 0.17), transparent 25%),
    #1e252b;
}

.article-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.82fr);
  align-items: center;
  gap: clamp(45px, 7vw, 102px);
}

.article-hero:not(.article-hero--with-image) .article-hero__grid {
  grid-template-columns: minmax(0, 900px);
}

.article-hero__content {
  min-width: 0;
  position: relative;
  z-index: 1;
}

.article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 11px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.74rem;
  font-weight: 750;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.article-meta span {
  padding: 7px 10px;
  border-radius: 999px;
  color: #5b430a;
  background: var(--tkm-gold);
  font-weight: 850;
}

.article-hero h1 {
  max-width: 900px;
  margin: 23px 0 0;
  color: #fff;
  font-size: clamp(2.7rem, 4.7vw, 5rem);
  font-weight: 900;
  letter-spacing: -0.055em;
  line-height: 1.01;
  text-wrap: balance;
}

.article-hero__content > p {
  max-width: 760px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  line-height: 1.65;
}

.article-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 31px;
  color: #fff;
  font-size: 0.84rem;
  font-weight: 800;
  text-decoration: none;
}

.article-back-link:hover,
.article-back-link:focus-visible {
  color: var(--tkm-gold);
}

.article-hero__visual {
  min-height: 500px;
  overflow: hidden;
  position: relative;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 27px;
  background: #eef0ef;
  box-shadow: 0 30px 74px rgba(0, 0, 0, 0.3);
}

.article-hero__visual::after {
  content: "";
  position: absolute;
  inset: 58% 0 0;
  background: linear-gradient(180deg, transparent, rgba(16, 21, 25, 0.72));
}

.article-hero__visual img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}

.article-hero__visual figcaption {
  position: absolute;
  right: 22px;
  bottom: 20px;
  left: 22px;
  z-index: 1;
  color: rgba(255, 255, 255, 0.73);
  font-size: 0.72rem;
  font-weight: 700;
}

.article-content-section {
  padding: clamp(64px, 7vw, 102px) 0;
  background: #f4f5f6;
}

.article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: start;
  gap: clamp(28px, 4vw, 56px);
}

.article-content-card {
  min-width: 0;
  padding: clamp(31px, 4.5vw, 66px);
  border: 1px solid var(--tkm-line);
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(24, 31, 38, 0.09);
}

.article-prose {
  color: #3f4851;
  font-size: clamp(1rem, 1.08vw, 1.08rem);
  line-height: 1.78;
}

.article-prose > :first-child {
  margin-top: 0 !important;
}

.article-prose > :last-child {
  margin-bottom: 0 !important;
}

.article-prose p {
  margin: 0 0 1.25em;
}

.article-prose h2,
.article-prose h3,
.article-prose h4 {
  color: var(--tkm-ink);
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1.15;
  text-wrap: balance;
}

.article-prose h2 {
  margin: 2em 0 0.72em;
  font-size: clamp(1.75rem, 2.5vw, 2.45rem);
}

.article-prose h3 {
  margin: 1.7em 0 0.65em;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.article-prose h4 {
  margin: 1.5em 0 0.6em;
  font-size: 1.2rem;
}

.article-prose ul,
.article-prose ol {
  display: grid;
  gap: 9px;
  margin: 1.15em 0 1.55em;
  padding-left: 1.25em;
}

.article-prose li {
  padding-left: 0.35em;
}

.article-prose li::marker {
  color: var(--tkm-gold-deep);
  font-weight: 900;
}

.article-prose li > p {
  margin: 0;
}

.article-prose hr {
  margin: 2.25em 0;
  border: 0;
  border-top: 1px solid var(--tkm-line);
  opacity: 1;
}

.article-prose a {
  color: #76570d;
  font-weight: 750;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.article-prose img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 1.5em auto;
  border-radius: 17px;
}

.article-prose blockquote {
  margin: 1.7em 0;
  padding: 22px 24px;
  border-left: 4px solid var(--tkm-gold);
  border-radius: 0 14px 14px 0;
  color: #4c555e;
  background: #f6f3e9;
}

.article-prose table {
  width: 100%;
  display: block;
  overflow-x: auto;
  margin: 1.7em 0;
  border-collapse: collapse;
}

.article-prose th,
.article-prose td {
  min-width: 145px;
  padding: 12px 14px;
  border: 1px solid var(--tkm-line);
  text-align: left;
}

.article-prose th {
  background: #f4f5f6;
}

.article-content-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: clamp(38px, 5vw, 64px);
  padding: 26px 28px;
  border-radius: 18px;
  background: #20272e;
}

.article-content-footer span,
.article-content-footer strong {
  display: block;
}

.article-content-footer > div > span {
  color: var(--tkm-gold);
  font-size: 0.69rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.article-content-footer strong {
  max-width: 460px;
  margin-top: 5px;
  color: #fff;
  font-size: 1rem;
  line-height: 1.35;
}

.article-content-footer__action {
  min-height: 46px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 16px;
  border-radius: 11px;
  color: var(--tkm-ink);
  background: var(--tkm-gold);
  font-size: 0.82rem;
  font-weight: 850;
  text-decoration: none;
}

.article-content-footer__action:hover,
.article-content-footer__action:focus-visible {
  color: var(--tkm-ink);
  background: #ffda65;
}

.article-sidebar {
  display: grid;
  gap: 18px;
  position: sticky;
  top: calc(var(--tkm-header-height) + 24px);
}

.article-info-card,
.article-contact-card {
  padding: 25px;
  border: 1px solid var(--tkm-line);
  border-radius: 19px;
  background: #fff;
}

.article-sidebar__eyebrow {
  display: block;
  color: #896817;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.article-info-card dl {
  display: grid;
  gap: 15px;
  margin: 19px 0 0;
}

.article-info-card dl > div {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--tkm-line);
}

.article-info-card dl > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.article-info-card dt {
  color: #8a9198;
  font-size: 0.69rem;
  font-weight: 700;
}

.article-info-card dd {
  margin: 3px 0 0;
  color: var(--tkm-ink);
  font-size: 0.88rem;
  font-weight: 800;
}

.article-contact-card {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.08);
  background:
    radial-gradient(circle at 90% 4%, rgba(244, 197, 66, 0.16), transparent 29%),
    #20272e;
  box-shadow: 0 17px 40px rgba(24, 31, 38, 0.16);
}

.article-contact-card .article-sidebar__eyebrow {
  color: var(--tkm-gold);
}

.article-contact-card h2 {
  margin: 11px 0 0;
  color: #fff;
  font-size: 1.55rem;
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1.12;
}

.article-contact-card p {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.67);
  font-size: 0.84rem;
  line-height: 1.55;
}

.article-contact-card__primary,
.article-contact-card__phone {
  width: 100%;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.article-contact-card__primary {
  margin-top: 22px;
  padding: 10px 14px;
  border-radius: 10px;
  color: var(--tkm-ink);
  background: var(--tkm-gold);
  font-size: 0.82rem;
  font-weight: 850;
}

.article-contact-card__primary:hover,
.article-contact-card__primary:focus-visible {
  color: var(--tkm-ink);
  background: #ffda65;
}

.article-contact-card__phone {
  gap: 8px;
  margin-top: 9px;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 800;
}

.article-contact-card__phone:hover,
.article-contact-card__phone:focus-visible {
  color: var(--tkm-gold);
}

.related-news-section {
  padding: clamp(68px, 7vw, 104px) 0;
  background: #fff;
}

/* News index */
.news-index-hero {
  overflow: hidden;
  padding: calc(var(--tkm-header-height) + 48px) 0 clamp(72px, 7vw, 108px);
  position: relative;
  color: #fff;
  background:
    radial-gradient(circle at 12% 18%, rgba(244, 197, 66, 0.18), transparent 26%),
    #1e252b;
}

.news-index-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.54fr);
  align-items: end;
  gap: clamp(42px, 7vw, 108px);
}

.news-index-hero h1 {
  max-width: 850px;
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 5.2vw, 5.4rem);
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 0.98;
  text-wrap: balance;
}

.news-index-hero__grid > div:first-child > p {
  max-width: 720px;
  margin: 25px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.62;
}

.news-index-hero__panel {
  padding: 27px 29px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.055);
  backdrop-filter: blur(8px);
}

.news-index-hero__panel > div {
  display: flex;
  align-items: baseline;
  gap: 9px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.news-index-hero__panel strong {
  color: var(--tkm-gold);
  font-size: 2.35rem;
  font-weight: 900;
  line-height: 1;
}

.news-index-hero__panel span {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.82rem;
}

.news-index-hero__panel ul {
  display: grid;
  gap: 9px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.news-index-hero__panel li {
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.8rem;
  font-weight: 700;
}

.news-index-hero__panel li::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--tkm-gold);
}

#news.news-index-section {
  margin: 0 !important;
  padding: clamp(68px, 7vw, 104px) 0 !important;
  background: #f4f5f6 !important;
}

.news-index-toolbar {
  display: grid;
  grid-template-columns: minmax(250px, 0.6fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(30px, 5vw, 70px);
  margin-bottom: 38px;
}

.news-index-toolbar h2 {
  margin: 0;
  color: var(--tkm-ink);
  font-size: clamp(2rem, 3vw, 3.1rem);
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.news-category-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.news-category-filter a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid rgba(38, 45, 53, 0.12);
  border-radius: 999px;
  color: #555e67;
  background: #fff;
  font-size: 0.76rem;
  font-weight: 800;
  text-decoration: none;
}

.news-category-filter a:hover,
.news-category-filter a:focus-visible,
.news-category-filter a.is-active {
  color: var(--tkm-ink);
  border-color: var(--tkm-gold);
  background: #fff7d9;
}

.news-category-filter a span {
  min-width: 21px;
  height: 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  border-radius: 999px;
  color: #7a5a0d;
  background: rgba(244, 197, 66, 0.24);
  font-size: 0.65rem;
}

.news-index-grid .news-card {
  min-height: 100%;
}

.news-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 46px;
}

.news-pagination__pages {
  display: flex;
  align-items: center;
  gap: 6px;
}

.news-pagination a,
.news-pagination__pages span {
  min-width: 42px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid var(--tkm-line);
  border-radius: 10px;
  color: var(--tkm-ink);
  background: #fff;
  font-size: 0.78rem;
  font-weight: 850;
  text-decoration: none;
}

.news-pagination a:hover,
.news-pagination a:focus-visible,
.news-pagination__pages .is-current {
  border-color: var(--tkm-gold);
  background: var(--tkm-gold);
}

.news-pagination__direction {
  gap: 8px;
}

@media (max-width: 1199.98px) {
  .brand-showcase-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .partners-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .about-page-hero__grid,
  .article-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(350px, 0.72fr);
    gap: 45px;
  }
}

@media (max-width: 991.98px) {
  .about-page-hero__grid,
  .article-hero__grid,
  .news-index-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .about-page-hero__visual,
  .about-page-hero__visual img {
    height: 480px;
    min-height: 480px;
  }

  .about-story-layout,
  .advantages-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .brand-showcase-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .advantages-panel__content {
    padding: 42px 34px;
  }

  .advantages-panel__content h2 {
    font-size: clamp(2.25rem, 5vw, 3.3rem) !important;
  }

  .partners-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .reviews-grid {
    grid-auto-columns: calc((100% - 20px) / 2);
  }

  .review-card {
    min-height: 0;
  }

  .article-hero__visual,
  .article-hero__visual img {
    height: 440px;
    min-height: 440px;
  }

  .article-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .article-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    position: static;
  }

  .news-index-hero__panel {
    max-width: 520px;
  }

  .news-index-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .news-category-filter {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .about-page-hero,
  .article-hero,
  .news-index-hero {
    padding-top: calc(var(--tkm-header-height) + 34px);
  }

  .about-story-layout,
  .advantages-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .about-story-visual {
    min-height: 470px;
  }

  #about .about-story-visual img {
    min-height: 470px;
  }

  .brand-showcase-grid,
  .partners-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .advantages-panel__visual {
    min-height: 520px;
  }

  .article-sidebar {
    grid-template-columns: minmax(0, 1fr);
  }

  .article-content-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .article-content-footer__action {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .about-page .container-xl,
  .article-page .container-xl,
  .news-index-page .container-xl {
    --bs-gutter-x: 1.5rem;
  }

  .content-breadcrumb {
    margin-bottom: 27px;
    font-size: 0.7rem;
  }

  .about-page-hero,
  .article-hero,
  .news-index-hero {
    padding-top: calc(var(--tkm-header-height) + 24px);
    padding-bottom: 58px;
  }

  .about-page-hero h1,
  .news-index-hero h1 {
    font-size: clamp(2.45rem, 12vw, 3.3rem);
    line-height: 0.98;
  }

  .about-page-hero__content > p,
  .news-index-hero__grid > div:first-child > p,
  .article-hero__content > p {
    margin-top: 18px;
    font-size: 0.92rem;
  }

  .about-page-hero__proof {
    margin-top: 27px;
  }

  .about-page-hero__proof > div {
    padding: 14px 10px;
  }

  .about-page-hero__proof strong {
    font-size: 0.84rem;
  }

  .about-page-hero__proof span {
    font-size: 0.6rem;
  }

  .about-page-hero__visual,
  .about-page-hero__visual img {
    height: 350px;
    min-height: 350px;
  }

  .about-page-hero__visual {
    border-radius: 21px;
    transform: none;
  }

  #about.about-story-section,
  .home-page #about.about-story-section,
  #brands.brands-section,
  #advantages.advantages-section,
  .home-page #advantages.advantages-section,
  #partners.partners-section,
  .home-page #partners.partners-section,
  #reviews.reviews-section,
  .home-page #reviews.reviews-section,
  .related-news-section,
  #news.news-index-section {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  .about-story-copy {
    padding: 25px 21px;
    border-radius: 19px;
  }

  .about-story-copy__text {
    font-size: 0.91rem;
  }

  .about-story-visual,
  #about .about-story-visual img {
    min-height: 390px;
  }

  .about-story-visual {
    border-radius: 19px;
  }

  .about-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
  }

  .about-value-card {
    display: block;
    padding: 15px 13px;
    border-radius: 14px;
  }

  .about-value-card__icon {
    width: 36px;
    height: 36px;
    margin-bottom: 11px;
  }

  .about-value-card strong {
    font-size: 0.78rem;
  }

  .about-value-card div > span {
    display: -webkit-box;
    overflow: hidden;
    font-size: 0.67rem;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .brand-showcase-grid {
    gap: 9px;
  }

  .brand-showcase-card {
    min-height: 190px;
    border-radius: 14px;
  }

  .brand-showcase-card__visual {
    height: 88px;
    padding: 12px 15px;
  }

  .brand-showcase-card__visual img {
    height: 62px;
  }

  .brand-showcase-card__body {
    padding: 13px 13px 15px;
  }

  .brand-showcase-card h3 {
    font-size: 0.78rem;
  }

  .brand-showcase-card p {
    font-size: 0.63rem;
    -webkit-line-clamp: 3;
  }

  .advantages-panel {
    min-height: 0;
    border-radius: 21px;
  }

  .advantages-panel__visual {
    min-height: 410px;
    padding: 20px;
  }

  .advantages-panel__visual img {
    bottom: 77px;
  }

  .advantages-panel__label {
    top: 18px;
    left: 18px;
  }

  .advantages-panel__visual-note {
    padding: 15px 16px;
  }

  .advantages-panel__content {
    padding: 31px 22px 34px;
  }

  .advantages-panel__content h2 {
    font-size: clamp(2.05rem, 9.5vw, 2.65rem) !important;
  }

  .advantages-panel__content > p {
    font-size: 0.88rem;
  }

  .advantages-stats {
    margin-top: 27px;
  }

  .advantages-stats > div {
    padding: 16px 14px;
  }

  .advantages-stats dt {
    font-size: 1.55rem;
  }

  .advantages-stats dd {
    font-size: 0.65rem;
  }

  .partners-grid {
    gap: 9px;
  }

  .partner-card {
    min-height: 126px;
    padding: 14px;
    border-radius: 14px;
  }

  .partner-card__visual {
    height: 65px;
  }

  .partner-card__visual img {
    height: 58px;
  }

  .partner-card__copy {
    display: none;
  }

  .review-card {
    padding: 22px 20px;
    border-radius: 17px;
  }

  .reviews-grid {
    grid-auto-columns: 88%;
    gap: 12px;
    margin-right: -12px;
    padding-right: 12px;
  }

  .review-card blockquote {
    font-size: 0.87rem;
  }

  .article-hero h1 {
    margin-top: 18px;
    font-size: clamp(2.15rem, 10.5vw, 3rem);
    line-height: 1.02;
  }

  .article-hero__visual,
  .article-hero__visual img {
    height: 280px;
    min-height: 280px;
  }

  .article-hero__visual {
    border-radius: 20px;
  }

  .article-content-section {
    padding: 46px 0 58px;
  }

  .article-content-card {
    padding: 25px 20px;
    border-radius: 19px;
  }

  .article-prose {
    font-size: 0.94rem;
    line-height: 1.7;
  }

  .article-prose h2 {
    font-size: 1.55rem;
  }

  .article-prose h3 {
    font-size: 1.3rem;
  }

  .article-content-footer {
    margin-top: 38px;
    padding: 21px 18px;
    border-radius: 15px;
  }

  .article-info-card,
  .article-contact-card {
    padding: 21px 20px;
    border-radius: 17px;
  }

  .news-index-hero__panel {
    padding: 22px 20px;
  }

  .news-index-toolbar {
    margin-bottom: 27px;
  }

  .news-category-filter {
    flex-wrap: nowrap;
    overflow-x: auto;
    margin-right: -12px;
    padding: 2px 12px 8px 0;
    scrollbar-width: thin;
  }

  .news-category-filter a {
    flex: 0 0 auto;
  }

  .news-pagination {
    gap: 9px;
    margin-top: 34px;
  }

  .news-pagination a,
  .news-pagination__pages span {
    min-width: 38px;
    min-height: 38px;
    padding: 7px 10px;
  }

  .news-pagination__direction {
    font-size: 0;
  }

  .news-pagination__direction span {
    font-size: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .brand-showcase-card {
    transition: none !important;
  }
}

/* Homepage section system — 2026-07 content blocks */
.section-heading {
  margin-bottom: clamp(28px, 3.6vw, 48px);
}

.section-heading--split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.7fr);
  align-items: end;
  gap: clamp(28px, 5vw, 76px);
}

.section-heading__aside {
  display: grid;
  justify-items: start;
  gap: 16px;
}

.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 13px;
  color: #7d6840;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.section-kicker::before {
  content: "";
  width: 27px;
  height: 3px;
  flex: 0 0 auto;
  border-radius: 3px;
  background: var(--tkm-gold);
}

.section-kicker--light,
.section-heading--inverse .section-kicker {
  color: rgba(255, 255, 255, 0.68);
}

.section-title,
.home-page .section-title {
  max-width: 780px;
  margin: 0;
  color: var(--tkm-ink) !important;
  font-size: clamp(2rem, 3.35vw, 3.45rem) !important;
  font-weight: 900;
  letter-spacing: -0.045em !important;
  line-height: 1.04 !important;
  text-wrap: balance;
}

.section-lead {
  max-width: 560px;
  margin: 0;
  color: #626b74;
  font-size: clamp(1rem, 1.3vw, 1.14rem);
  line-height: 1.58;
}

.section-heading--inverse .section-title,
.home-page .section-heading--inverse .section-title {
  color: #fff !important;
}

.section-heading--inverse .section-lead {
  color: rgba(255, 255, 255, 0.68);
}

.section-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--tkm-ink);
  font-size: 0.9rem;
  font-weight: 800;
  text-decoration: none;
}

.section-link span {
  transition: transform 160ms ease;
}

.section-link:hover,
.section-link:focus-visible {
  color: #9e7410;
}

.section-link:hover span,
.section-link:focus-visible span {
  transform: translateX(4px);
}

.section-link--light {
  color: #fff;
}

.section-link--light:hover,
.section-link--light:focus-visible {
  color: var(--tkm-gold);
}

/* Supply directions */
#about-cats.supply-section,
.home-page #about-cats.supply-section {
  margin: 0 !important;
  padding: clamp(64px, 7vw, 104px) 0 !important;
  background:
    radial-gradient(circle at 8% 18%, rgba(244, 197, 66, 0.11), transparent 24%),
    #f4f5f6 !important;
}

.supply-card {
  height: 100%;
  min-height: 520px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(38, 45, 53, 0.11);
  border-radius: 22px;
  color: var(--tkm-ink);
  background: #fff;
  box-shadow: 0 16px 42px rgba(24, 31, 38, 0.09);
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease,
    box-shadow 180ms ease;
}

.supply-card:hover,
.supply-card:focus-visible {
  color: var(--tkm-ink);
  border-color: rgba(217, 170, 46, 0.66);
  box-shadow: 0 24px 56px rgba(24, 31, 38, 0.15);
  transform: translateY(-5px);
}

.supply-card:focus-visible {
  outline: 3px solid rgba(244, 197, 66, 0.62);
  outline-offset: 3px;
}

.supply-card__number {
  position: absolute;
  top: 18px;
  right: 20px;
  z-index: 1;
  color: rgba(38, 45, 53, 0.24);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.supply-card__visual {
  height: 230px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: linear-gradient(145deg, #fff 18%, #f0efeb 100%);
}

.supply-card__visual img {
  width: min(88%, 270px);
  height: 190px;
  object-fit: contain;
  transition: transform 220ms ease;
}

.supply-card:hover .supply-card__visual img {
  transform: scale(1.035);
}

.supply-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 27px 28px 29px;
}

.supply-card__title,
.supply-card__text,
.supply-card__action {
  display: block;
}

.supply-card__title {
  margin-bottom: 12px;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 850;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.supply-card__text {
  color: #606974;
  font-size: 0.96rem;
  line-height: 1.58;
}

.supply-card__action {
  margin-top: auto;
  padding-top: 25px;
  font-size: 0.88rem;
  font-weight: 850;
}

.supply-card__action span {
  display: inline-block;
  margin-left: 7px;
  transition: transform 160ms ease;
}

.supply-card:hover .supply-card__action span {
  transform: translateX(4px);
}

/* Equipment category catalogue */
#tehcats.equipment-section,
.home-page #tehcats.equipment-section {
  margin: 0 !important;
  padding: clamp(64px, 7vw, 104px) 0 !important;
  background: #fff !important;
}

.equipment-card {
  height: 100%;
  min-height: 172px;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(38, 45, 53, 0.11);
  border-radius: 18px;
  color: var(--tkm-ink);
  background: #fff;
  box-shadow: 0 10px 27px rgba(24, 31, 38, 0.065);
  text-decoration: none;
  transition: transform 170ms ease, border-color 170ms ease,
    box-shadow 170ms ease;
}

.equipment-card:hover,
.equipment-card:focus-visible {
  color: var(--tkm-ink);
  border-color: rgba(217, 170, 46, 0.68);
  box-shadow: 0 17px 36px rgba(24, 31, 38, 0.12);
  transform: translateY(-3px);
}

.equipment-card:focus-visible {
  outline: 3px solid rgba(244, 197, 66, 0.58);
  outline-offset: 2px;
}

.equipment-card__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13px;
  background: #f2f1ee;
}

.equipment-card__visual img {
  width: 100%;
  height: 116px;
  object-fit: contain;
  transition: transform 180ms ease;
}

.equipment-card:hover .equipment-card__visual img {
  transform: scale(1.04);
}

.equipment-card__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 18px 18px 16px;
}

.equipment-card__title,
.equipment-card__description,
.equipment-card__action {
  display: block;
}

.equipment-card__title {
  display: -webkit-box;
  overflow: hidden;
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: -0.015em;
  line-height: 1.26;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.equipment-card__description {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 8px;
  color: #69717a;
  font-size: 0.78rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.equipment-card__action {
  margin-top: auto;
  padding-top: 10px;
  color: #8f6b14;
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* Work-direction cards */
#speciality.speciality-section,
.home-page #speciality.speciality-section {
  margin: 0 !important;
  padding: clamp(70px, 7.5vw, 112px) 0 !important;
  position: relative;
  background:
    radial-gradient(circle at 92% 8%, rgba(244, 197, 66, 0.12), transparent 28%),
    radial-gradient(circle at 4% 82%, rgba(255, 255, 255, 0.045), transparent 30%),
    #20262c !important;
}

.speciality-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  color: var(--tkm-ink);
  background: #fff;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2);
  text-decoration: none;
  transition: transform 190ms ease, border-color 190ms ease,
    box-shadow 190ms ease;
}

.speciality-card:hover,
.speciality-card:focus-visible {
  color: var(--tkm-ink);
  border-color: var(--tkm-gold);
  box-shadow: 0 27px 56px rgba(0, 0, 0, 0.28);
  transform: translateY(-5px);
}

.speciality-card:focus-visible {
  outline: 3px solid var(--tkm-gold);
  outline-offset: 3px;
}

.speciality-card__visual {
  height: 220px;
  display: block;
  overflow: hidden;
  position: relative;
  background: #30373e;
}

.speciality-card__visual::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(180deg, transparent, rgba(17, 22, 27, 0.48));
}

.speciality-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 260ms ease;
}

.speciality-card:hover .speciality-card__visual img {
  transform: scale(1.045);
}

.speciality-card__index {
  position: absolute;
  right: 16px;
  bottom: 13px;
  z-index: 1;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.speciality-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 22px 23px 24px;
}

.speciality-card__title,
.speciality-card__description,
.speciality-card__action {
  display: block;
}

.speciality-card__title {
  font-size: 1.28rem;
  font-weight: 850;
  letter-spacing: -0.025em;
  line-height: 1.18;
}

.speciality-card__description {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 10px;
  color: #666f78;
  font-size: 0.88rem;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.speciality-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 17px;
}

.speciality-card__tags > span {
  max-width: 100%;
  overflow: hidden;
  padding: 5px 8px;
  border-radius: 999px;
  color: #5c5136;
  background: #f7f1df;
  font-size: 0.69rem;
  font-weight: 750;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.speciality-card__action {
  margin-top: auto;
  padding-top: 21px;
  color: #73540b;
  font-size: 0.82rem;
  font-weight: 850;
}

/* Consultation CTA */
#cta1.consultation-section,
.home-page #cta1.consultation-section {
  margin: 0 !important;
  padding: clamp(64px, 7vw, 104px) 0 !important;
  background: #f4f5f6 !important;
}

#cta1.consultation-section > .container {
  overflow: visible;
  border: 0;
  border-radius: 0 !important;
  box-shadow: none;
}

.consultation-card {
  min-height: 560px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 28px;
  color: #fff;
  background: #20272e;
  box-shadow: 0 28px 68px rgba(24, 31, 37, 0.22);
}

.consultation-card__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px, 5.2vw, 76px);
}

.consultation-card__title,
.home-page .consultation-card__title {
  max-width: 660px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(2.15rem, 3.6vw, 3.7rem) !important;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.02;
  text-wrap: balance;
}

.consultation-card__text {
  max-width: 650px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 1.04rem;
  line-height: 1.58;
}

.consultation-points {
  display: grid;
  gap: 10px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.consultation-points li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.91rem;
  font-weight: 700;
}

.consultation-points svg {
  width: 25px;
  height: 25px;
  padding: 4px;
  border-radius: 50%;
  color: #1d242a;
  background: var(--tkm-gold);
}

.consultation-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 22px;
  margin-top: 34px;
}

.consultation-primary-action {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 20px;
  border: 1px solid var(--tkm-gold) !important;
  border-radius: 12px !important;
  color: var(--tkm-ink) !important;
  background: var(--tkm-gold) !important;
  font-weight: 850;
}

.consultation-primary-action:hover,
.consultation-primary-action:focus-visible {
  border-color: #ffdb69 !important;
  background: #ffdb69 !important;
}

.consultation-phone {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.consultation-phone:hover,
.consultation-phone:focus-visible {
  color: var(--tkm-gold);
}

.consultation-card__visual {
  min-height: 100%;
  overflow: hidden;
  position: relative;
}

.consultation-card__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #20272e 0%, transparent 38%),
    linear-gradient(180deg, transparent 60%, rgba(17, 22, 27, 0.5) 100%);
}

.consultation-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.consultation-card__badge {
  position: absolute;
  right: 27px;
  bottom: 27px;
  z-index: 1;
  width: 150px;
  padding: 15px 17px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 15px;
  color: #fff;
  background: rgba(25, 31, 37, 0.72);
  backdrop-filter: blur(9px);
}

.consultation-card__badge strong,
.consultation-card__badge span {
  display: block;
}

.consultation-card__badge strong {
  font-size: 1rem;
}

.consultation-card__badge span {
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.72rem;
}

/* News cards */
#news.news-section,
.home-page #news.news-section {
  margin: 0 !important;
  padding: clamp(64px, 7vw, 104px) 0 !important;
  background: #f4f5f6 !important;
  background-image: none !important;
}

.news-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(38, 45, 53, 0.11);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(24, 31, 38, 0.085);
  transition: transform 180ms ease, border-color 180ms ease,
    box-shadow 180ms ease;
}

.news-card:hover,
.news-card:has(.news-card__link:focus-visible) {
  border-color: rgba(217, 170, 46, 0.62);
  box-shadow: 0 22px 48px rgba(24, 31, 38, 0.14);
  transform: translateY(-4px);
}

.news-card__link {
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
}

.news-card__link:focus-visible {
  outline: 3px solid rgba(244, 197, 66, 0.72);
  outline-offset: -4px;
}

.news-card__visual {
  height: 250px;
  overflow: hidden;
  background: #e9e7e2;
}

.news-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 260ms ease;
}

.news-card:hover .news-card__visual img {
  transform: scale(1.045);
}

.news-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 22px 23px 24px;
}

.news-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #8a6b21;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.news-card__meta time {
  color: #8b929a;
  font-weight: 650;
  letter-spacing: 0;
}

.news-card__title {
  margin: 13px 0 0;
  color: var(--tkm-ink);
  font-size: 1.18rem;
  font-weight: 850;
  letter-spacing: -0.025em;
  line-height: 1.25;
}

.news-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin: 12px 0 0;
  color: #69717a;
  font-size: 0.87rem;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.news-card__action {
  margin-top: auto;
  padding-top: 22px;
  color: #76570d;
  font-size: 0.82rem;
  font-weight: 850;
}

/* FAQ */
#faq.faq-section,
.home-page #faq.faq-section {
  margin: 0 !important;
  padding: clamp(64px, 7vw, 104px) 0 !important;
  background: #fff !important;
}

#faq .faq-accordion {
  overflow: hidden;
  border: 1px solid rgba(38, 45, 53, 0.12);
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 17px 42px rgba(24, 31, 38, 0.08);
}

.faq-accordion .accordion-item {
  border: 0;
  border-bottom: 1px solid rgba(38, 45, 53, 0.1);
}

.faq-accordion .accordion-item:last-child {
  border-bottom: 0;
}

.faq-accordion .accordion-button {
  min-height: 66px;
  padding: 17px 21px;
  color: var(--tkm-ink);
  background: #fff;
  box-shadow: none !important;
  font-size: 0.98rem;
  font-weight: 750;
  line-height: 1.35;
}

.faq-accordion .accordion-button:hover,
.faq-accordion .accordion-button:focus-visible,
.faq-accordion .accordion-button:not(.collapsed) {
  color: var(--tkm-ink);
  background: #fff8e0;
}

.faq-accordion .accordion-button:not(.collapsed)::after {
  filter: sepia(1) saturate(3);
}

.faq-accordion .accordion-body {
  padding: 5px 21px 22px;
  color: #626b74;
  font-size: 0.93rem;
  line-height: 1.65;
  background: #fff8e0;
}

.faq-all-link {
  margin-top: 24px;
}

.faq-contact-card {
  overflow: hidden;
  border-radius: 21px;
  color: #fff;
  background: #20272e;
  box-shadow: 0 19px 46px rgba(24, 31, 38, 0.17);
}

.faq-contact-card__visual {
  height: 220px;
  overflow: hidden;
  position: relative;
}

.faq-contact-card__visual::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(180deg, transparent, #20272e);
}

.faq-contact-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.faq-contact-card__body {
  padding: 24px 25px 27px;
}

.faq-contact-card__eyebrow {
  display: block;
  color: var(--tkm-gold);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.faq-contact-card h3 {
  margin: 9px 0 0;
  color: #fff;
  font-size: 1.48rem;
  font-weight: 850;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.faq-contact-card p {
  margin: 13px 0 0;
  color: rgba(255, 255, 255, 0.67);
  font-size: 0.88rem;
  line-height: 1.55;
}

.faq-contact-card__action {
  width: 100%;
  min-height: 48px;
  margin-top: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tkm-gold) !important;
  border-radius: 11px !important;
  color: var(--tkm-ink) !important;
  background: var(--tkm-gold) !important;
  font-weight: 850;
}

.faq-contact-card__phone {
  display: block;
  margin-top: 15px;
  color: #fff;
  font-size: 0.94rem;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}

.faq-contact-card__phone:hover,
.faq-contact-card__phone:focus-visible {
  color: var(--tkm-gold);
}

/* Footer */
.site-footer {
  color: rgba(255, 255, 255, 0.78);
  background:
    radial-gradient(circle at 88% 0%, rgba(244, 197, 66, 0.09), transparent 25%),
    #1d2329;
}

.site-footer a {
  color: inherit;
}

.site-footer__top {
  min-height: 118px;
  display: grid;
  grid-template-columns: auto minmax(260px, 1fr) auto;
  align-items: center;
  gap: clamp(26px, 4vw, 58px);
  padding: 25px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}

.site-footer__brand {
  width: 176px;
  height: 61px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 17px;
  border-radius: 13px;
  background: var(--tkm-gold);
}

.site-footer__brand img {
  width: 140px;
  height: auto;
  object-fit: contain;
}

.site-footer__promise {
  max-width: 570px;
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(1rem, 1.55vw, 1.28rem);
  font-weight: 750;
  line-height: 1.35;
}

.site-footer__call {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  padding: 10px 17px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 13px;
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease;
}

.site-footer__call:hover,
.site-footer__call:focus-visible {
  color: #fff;
  border-color: rgba(244, 197, 66, 0.7);
  background: rgba(244, 197, 66, 0.08);
}

.site-footer__call small,
.site-footer__call strong {
  display: block;
}

.site-footer__call small {
  margin-bottom: 3px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.68rem;
  font-weight: 650;
}

.site-footer__call strong {
  color: #fff;
  font-size: 0.96rem;
}

.site-footer__grid {
  display: grid;
  grid-template-columns: minmax(190px, 0.9fr) minmax(320px, 1.65fr) minmax(220px, 1.15fr) minmax(260px, 1.25fr);
  gap: clamp(28px, 3.5vw, 54px);
  padding: 48px 0 42px;
}

.footer-heading,
.footer-nav-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 19px;
  color: #fff;
  font-size: 0.94rem;
  font-weight: 850;
  letter-spacing: 0.015em;
}

.site-footer__company > p {
  margin: 0 0 20px;
  color: rgba(255, 255, 255, 0.56);
  font-size: 0.83rem;
  line-height: 1.62;
}

.footer-primary-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 13px;
}

.footer-primary-nav a,
.footer-link-grid a {
  display: inline-block;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.78rem;
  line-height: 1.35;
  text-decoration: none;
  transition: color 150ms ease, transform 150ms ease;
}

.footer-primary-nav a:hover,
.footer-primary-nav a:focus-visible,
.footer-link-grid a:hover,
.footer-link-grid a:focus-visible {
  color: var(--tkm-gold);
  transform: translateX(2px);
}

.footer-nav-group summary {
  list-style: none;
  cursor: pointer;
}

.footer-nav-group summary::-webkit-details-marker {
  display: none;
}

.footer-nav-group summary::after {
  content: "+";
  color: var(--tkm-gold);
  font-size: 1.2rem;
}

.footer-nav-group[open] summary::after {
  content: "−";
}

.footer-link-grid {
  display: grid;
  gap: 9px 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-link-grid--equipment {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.footer-contact-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 37px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.76);
  text-decoration: none;
}

a.footer-contact-row:hover,
a.footer-contact-row:focus-visible {
  color: var(--tkm-gold);
}

.footer-contact-row__icon {
  width: 37px;
  height: 37px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 10px;
  color: var(--tkm-gold);
  background: rgba(255, 255, 255, 0.045);
}

.footer-contact-row small,
.footer-contact-row strong {
  display: block;
  overflow-wrap: anywhere;
}

.footer-contact-row small {
  margin-bottom: 3px;
  color: rgba(255, 255, 255, 0.42);
  font-size: 0.65rem;
  font-weight: 650;
}

.footer-contact-row strong {
  color: inherit;
  font-size: 0.79rem;
  line-height: 1.4;
}

.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 0 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.11);
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.72rem;
}

.site-footer__bottom p {
  margin: 0;
}

.site-footer__bottom a {
  color: rgba(255, 255, 255, 0.45);
  text-decoration: none;
}

.site-footer__bottom a:hover,
.site-footer__bottom a:focus-visible {
  color: var(--tkm-gold);
}

@media (min-width: 1200px) {
  .supply-card:first-child {
    transform-origin: left center;
  }

  .site-footer .footer-nav-group:not([open]) > .footer-link-grid {
    display: grid;
  }

  .site-footer .footer-nav-group summary {
    pointer-events: none;
  }

  .site-footer .footer-nav-group summary::after {
    display: none;
  }
}

@media (max-width: 1199.98px) {
  .supply-card {
    min-height: 500px;
  }

  .supply-card__visual {
    height: 205px;
  }

  .equipment-card {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .consultation-card {
    grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.9fr);
  }

  .site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer .footer-nav-group:not([open]) > .footer-link-grid {
    display: grid;
  }

  .site-footer .footer-nav-group summary {
    pointer-events: none;
  }

  .site-footer .footer-nav-group summary::after {
    display: none;
  }
}

@media (max-width: 991.98px) {
  .section-heading--split {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .section-heading__aside {
    gap: 13px;
  }

  .section-lead {
    max-width: 700px;
  }

  .supply-card {
    min-height: 460px;
  }

  .supply-card__visual {
    height: 180px;
  }

  .supply-card__visual img {
    height: 155px;
  }

  .supply-card__body {
    padding: 22px 20px 23px;
  }

  .equipment-card {
    min-height: 158px;
    grid-template-columns: 108px minmax(0, 1fr);
  }

  .equipment-card__visual img {
    height: 98px;
  }

  .equipment-card__description {
    -webkit-line-clamp: 1;
  }

  .speciality-card__visual {
    height: 205px;
  }

  .consultation-card {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .consultation-card__visual {
    min-height: 300px;
  }

  .consultation-card__visual::after {
    background: linear-gradient(180deg, #20272e 0%, transparent 28%),
      linear-gradient(180deg, transparent 58%, rgba(17, 22, 27, 0.5) 100%);
  }

  .news-card__visual {
    height: 210px;
  }

  .faq-contact-card {
    display: grid;
    grid-template-columns: minmax(250px, 0.9fr) minmax(0, 1.1fr);
  }

  .faq-contact-card__visual {
    height: 100%;
    min-height: 300px;
  }

  .faq-contact-card__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .site-footer__top {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .site-footer__call {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .site-footer .footer-nav-group:not([open]) > .footer-link-grid {
    display: none;
  }

  .site-footer .footer-nav-group[open] > .footer-link-grid {
    display: grid;
  }

  .site-footer .footer-nav-group summary {
    pointer-events: auto;
  }

  .site-footer .footer-nav-group summary::after {
    display: inline;
  }
}

@media (max-width: 767.98px) {
  .section-title,
  .home-page .section-title {
    font-size: clamp(2rem, 8.5vw, 2.75rem) !important;
  }

  .supply-card {
    min-height: 0;
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
  }

  .supply-card__visual {
    width: 100%;
    height: 100%;
    min-height: 245px;
    padding: 13px;
  }

  .supply-card__visual img {
    width: 100%;
    height: 145px;
  }

  .supply-card__body {
    min-width: 0;
    padding: 23px 20px;
  }

  .supply-card__title {
    font-size: 1.25rem;
  }

  .supply-card__text {
    display: -webkit-box;
    overflow: hidden;
    font-size: 0.84rem;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  .speciality-card__visual {
    height: 230px;
  }

  .news-card__visual {
    height: 240px;
  }

  .faq-contact-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-contact-card__visual {
    min-height: 210px;
    height: 210px;
  }

  .site-footer__top {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 20px;
    padding: 31px 0;
  }

  .site-footer__promise {
    max-width: 480px;
  }

  .site-footer__call {
    grid-column: auto;
  }

  .site-footer__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 35px 0 30px;
  }

  .site-footer__company,
  .site-footer__contacts {
    padding: 0 0 27px;
  }

  .footer-nav-group {
    margin-bottom: 13px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .footer-nav-group + .footer-nav-group {
    margin-top: -14px;
    border-top: 0;
  }

  .footer-nav-group summary {
    min-height: 54px;
    margin: 0;
  }

  .footer-link-grid,
  .footer-link-grid--equipment {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0 0 18px;
  }

  .site-footer__contacts {
    padding-top: 25px;
  }
}

@media (max-width: 575.98px) {
  #about-cats.supply-section,
  .home-page #about-cats.supply-section,
  #tehcats.equipment-section,
  .home-page #tehcats.equipment-section,
  #speciality.speciality-section,
  .home-page #speciality.speciality-section,
  #cta1.consultation-section,
  .home-page #cta1.consultation-section,
  #news.news-section,
  .home-page #news.news-section,
  #faq.faq-section,
  .home-page #faq.faq-section {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  .section-heading {
    margin-bottom: 28px;
  }

  .section-kicker {
    margin-bottom: 10px;
    font-size: 0.68rem;
  }

  .section-lead {
    font-size: 0.94rem;
  }

  .supply-card {
    grid-template-columns: 116px minmax(0, 1fr);
    border-radius: 17px;
  }

  .supply-card__visual {
    min-height: 218px;
    padding: 9px;
  }

  .supply-card__visual img {
    height: 112px;
  }

  .supply-card__number {
    top: 12px;
    right: 14px;
  }

  .supply-card__body {
    padding: 20px 16px 18px;
  }

  .supply-card__title {
    margin-bottom: 8px;
    font-size: 1.08rem;
  }

  .supply-card__text {
    font-size: 0.76rem;
    line-height: 1.48;
  }

  .supply-card__action {
    padding-top: 14px;
    font-size: 0.74rem;
  }

  .equipment-grid {
    --bs-gutter-x: 0.7rem !important;
    --bs-gutter-y: 0.7rem !important;
  }

  .equipment-card {
    min-height: 205px;
    display: flex;
    flex-direction: column;
    border-radius: 15px;
  }

  .equipment-card__visual {
    height: 105px;
    flex: 0 0 105px;
    padding: 8px;
  }

  .equipment-card__visual img {
    height: 91px;
  }

  .equipment-card__content {
    flex: 1;
    padding: 12px 11px 11px;
  }

  .equipment-card__title {
    font-size: 0.8rem;
    line-height: 1.2;
  }

  .equipment-card__description {
    display: none;
  }

  .equipment-card__action {
    padding-top: 8px;
    font-size: 0.62rem;
  }

  .speciality-card {
    border-radius: 17px;
  }

  .speciality-grid {
    --bs-gutter-x: 0.7rem !important;
    --bs-gutter-y: 0.7rem !important;
  }

  .speciality-card__visual {
    height: 122px;
  }

  .speciality-card__body {
    padding: 13px 12px 15px;
  }

  .speciality-card__title {
    min-height: 3.05em;
    display: -webkit-box;
    overflow: hidden;
    font-size: 0.85rem;
    line-height: 1.16;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .speciality-card__description {
    display: none;
  }

  .speciality-card__tags {
    display: none;
  }

  .speciality-card__action {
    padding-top: 14px;
    font-size: 0.66rem;
    line-height: 1.25;
  }

  .speciality-card__index {
    right: 9px;
    bottom: 8px;
    font-size: 0.62rem;
  }

  .consultation-card {
    border-radius: 20px;
  }

  .consultation-card__content {
    padding: 31px 23px 34px;
  }

  .consultation-card__title,
  .home-page .consultation-card__title {
    font-size: clamp(2rem, 9vw, 2.65rem) !important;
  }

  .consultation-card__text {
    margin-top: 17px;
    font-size: 0.92rem;
  }

  .consultation-points {
    margin-top: 22px;
  }

  .consultation-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    margin-top: 27px;
  }

  .consultation-primary-action,
  .consultation-phone {
    width: 100%;
    justify-content: center;
  }

  .consultation-card__visual {
    min-height: 230px;
  }

  .consultation-card__badge {
    right: 16px;
    bottom: 16px;
  }

  .news-card {
    border-radius: 17px;
  }

  .news-card__visual {
    height: 215px;
  }

  .news-card__body {
    padding: 19px 18px 21px;
  }

  .news-card__title {
    font-size: 1.08rem;
  }

  .faq-accordion .accordion-button {
    min-height: 62px;
    padding: 15px 16px;
    font-size: 0.88rem;
  }

  .faq-accordion .accordion-body {
    padding: 3px 16px 19px;
    font-size: 0.86rem;
  }

  .faq-contact-card__body {
    padding: 22px 20px 24px;
  }

  .site-footer .container-xl {
    --bs-gutter-x: 1.5rem;
  }

  .site-footer__brand {
    width: 158px;
    height: 56px;
  }

  .site-footer__brand img {
    width: 128px;
  }

  .site-footer__call {
    width: 100%;
  }

  .footer-primary-nav {
    gap: 10px 16px;
  }

  .footer-link-grid,
  .footer-link-grid--equipment {
    grid-template-columns: minmax(0, 1fr);
  }

  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

@media (min-width: 992px) {
  .site-footer .footer-nav-group:not([open]) > .footer-link-grid {
    display: grid !important;
  }
}

@media (max-width: 991.98px) {
  .site-footer .footer-nav-group:not([open]) > .footer-link-grid {
    display: none !important;
  }

  .site-footer .footer-nav-group[open] > .footer-link-grid {
    display: grid !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .supply-card,
  .supply-card__visual img,
  .equipment-card,
  .equipment-card__visual img,
  .speciality-card,
  .speciality-card__visual img,
  .news-card,
  .news-card__visual img,
  .section-link span {
    transition: none !important;
  }
}

/* FAQ, documents and contact pages — 2026-07 */
.info-page {
  overflow: clip;
  color: var(--tkm-ink);
  background: #f4f6f7;
}

.info-page .container-xl {
  --bs-gutter-x: 2rem;
}

.utility-hero {
  overflow: hidden;
  padding: calc(var(--tkm-header-height) + 46px) 0 clamp(66px, 6.5vw, 94px);
  position: relative;
  isolation: isolate;
  color: #fff;
  background:
    radial-gradient(circle at 10% 16%, rgba(244, 197, 66, 0.19), transparent 27%),
    radial-gradient(circle at 91% 72%, rgba(255, 255, 255, 0.07), transparent 26%),
    #1d242a;
}

.utility-hero::before {
  content: "";
  width: 430px;
  height: 430px;
  position: absolute;
  z-index: -1;
  right: -205px;
  top: -210px;
  border: 1px solid rgba(255, 255, 255, 0.075);
  border-radius: 50%;
  box-shadow: 0 0 0 72px rgba(255, 255, 255, 0.018),
    0 0 0 144px rgba(255, 255, 255, 0.012);
  pointer-events: none;
}

.utility-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.24;
  background-image: linear-gradient(rgba(255, 255, 255, 0.027) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.027) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
  pointer-events: none;
}

.utility-hero .content-breadcrumb {
  margin-bottom: clamp(31px, 3.5vw, 48px);
}

.utility-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.48fr);
  align-items: end;
  gap: clamp(38px, 6.4vw, 90px);
}

.utility-hero__content {
  min-width: 0;
  position: relative;
  z-index: 1;
}

.utility-hero h1 {
  max-width: 880px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.85rem, 5vw, 5.05rem);
  font-weight: 900;
  letter-spacing: -0.058em;
  line-height: 0.99;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.utility-hero__content > p {
  max-width: 750px;
  margin: 23px 0 0;
  color: rgba(255, 255, 255, 0.69);
  font-size: clamp(1rem, 1.35vw, 1.17rem);
  line-height: 1.65;
}

.utility-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 31px;
}

.utility-button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: 0.84rem;
  font-weight: 850;
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease,
    color 160ms ease, transform 160ms ease;
}

.utility-button:hover,
.utility-button:focus-visible {
  transform: translateY(-2px);
}

.utility-button--gold {
  border-color: var(--tkm-gold);
  color: #272d33;
  background: var(--tkm-gold);
}

.utility-button--gold:hover,
.utility-button--gold:focus-visible {
  border-color: #ffd85d;
  color: #1d2328;
  background: #ffd85d;
}

.utility-button--ghost {
  border-color: rgba(255, 255, 255, 0.23);
  color: #fff;
  background: rgba(255, 255, 255, 0.055);
}

.utility-button--ghost:hover,
.utility-button--ghost:focus-visible {
  border-color: rgba(255, 255, 255, 0.48);
  color: #fff;
  background: rgba(255, 255, 255, 0.11);
}

.utility-hero__panel {
  min-width: 0;
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 22px;
  position: relative;
  color: #fff;
  background: rgba(12, 17, 21, 0.5);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.23);
  backdrop-filter: blur(12px);
}

.utility-hero__panel::before {
  content: "";
  width: 82px;
  height: 3px;
  position: absolute;
  top: -1px;
  left: 26px;
  border-radius: 0 0 6px 6px;
  background: var(--tkm-gold);
}

.utility-hero__panel-icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(244, 197, 66, 0.34);
  border-radius: 16px;
  color: var(--tkm-gold);
  background: rgba(244, 197, 66, 0.1);
}

.utility-hero__panel-copy {
  margin-top: 21px;
}

.utility-hero__panel-copy span,
.utility-hero__panel-copy strong {
  display: block;
}

.utility-hero__panel-copy span {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.utility-hero__panel-copy strong {
  margin-top: 5px;
  color: #fff;
  font-size: 1.33rem;
  font-weight: 850;
  letter-spacing: -0.025em;
  overflow-wrap: anywhere;
}

.utility-hero__checklist {
  display: grid;
  gap: 9px;
  margin: 21px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.11);
  list-style: none;
}

.utility-hero__checklist li {
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.78rem;
  line-height: 1.35;
}

.utility-hero__checklist li::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--tkm-gold);
  box-shadow: 0 0 0 4px rgba(244, 197, 66, 0.1);
}

.info-section {
  padding: clamp(68px, 7vw, 104px) 0;
  background: #f4f6f7;
}

.info-section__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.68fr);
  align-items: end;
  gap: 36px;
  margin-bottom: clamp(34px, 4.5vw, 56px);
}

.info-section__heading h2 {
  max-width: 820px;
  margin: 0;
  color: var(--tkm-ink);
  font-size: clamp(2.3rem, 4vw, 4rem);
  font-weight: 900;
  letter-spacing: -0.055em;
  line-height: 1;
  text-wrap: balance;
}

.info-section__heading > p {
  max-width: 570px;
  justify-self: end;
  margin: 0;
  color: #69727b;
  font-size: 0.96rem;
  line-height: 1.65;
}

.info-layout,
.document-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 342px;
  align-items: start;
  gap: clamp(28px, 4vw, 54px);
}

.info-sidebar {
  display: grid;
  gap: 19px;
  position: sticky;
  top: calc(var(--tkm-header-height) + 24px);
}

.utility-support-card {
  overflow: hidden;
  padding: 28px 27px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 22px;
  position: relative;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(244, 197, 66, 0.14), transparent 28%),
    #20272e;
  box-shadow: 0 20px 48px rgba(24, 31, 38, 0.15);
}

.utility-support-card__icon {
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  border: 1px solid rgba(244, 197, 66, 0.32);
  border-radius: 14px;
  color: var(--tkm-gold);
  background: rgba(244, 197, 66, 0.09);
}

.utility-support-card__eyebrow,
.utility-navigation-card__eyebrow,
.related-documents-card__eyebrow,
.contact-form-card__eyebrow {
  display: block;
  color: var(--tkm-gold);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.utility-support-card h2 {
  margin: 9px 0 0;
  color: #fff;
  font-size: 1.64rem;
  font-weight: 880;
  letter-spacing: -0.04em;
  line-height: 1.08;
}

.utility-support-card > p {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 0.86rem;
  line-height: 1.58;
}

.utility-support-card__actions {
  display: grid;
  gap: 10px;
  margin-top: 23px;
}

.utility-support-card__primary,
.utility-support-card__phone {
  min-height: 47px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 15px;
  border: 1px solid transparent;
  border-radius: 11px;
  font-size: 0.8rem;
  font-weight: 850;
  text-align: center;
  text-decoration: none;
}

.utility-support-card__primary {
  border-color: var(--tkm-gold);
  color: var(--tkm-ink);
  background: var(--tkm-gold);
}

.utility-support-card__primary:hover,
.utility-support-card__primary:focus-visible {
  color: var(--tkm-ink);
  background: #ffd85d;
}

.utility-support-card__phone {
  border-color: rgba(255, 255, 255, 0.15);
  color: #fff;
  background: rgba(255, 255, 255, 0.045);
}

.utility-support-card__phone:hover,
.utility-support-card__phone:focus-visible {
  border-color: rgba(244, 197, 66, 0.52);
  color: var(--tkm-gold);
}

.utility-support-card > small {
  display: block;
  margin-top: 17px;
  color: rgba(255, 255, 255, 0.43);
  font-size: 0.68rem;
  text-align: center;
}

.utility-navigation-card,
.related-documents-card,
.utility-fact-card {
  padding: 22px;
  border: 1px solid rgba(38, 45, 53, 0.11);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(24, 31, 38, 0.055);
}

.utility-navigation-card__eyebrow,
.related-documents-card__eyebrow {
  margin-bottom: 12px;
  color: #8a6b21;
}

.utility-navigation-card > a,
.related-documents-card > a {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid rgba(38, 45, 53, 0.09);
  color: var(--tkm-ink);
  font-size: 0.79rem;
  font-weight: 800;
  text-decoration: none;
}

.utility-navigation-card > a:last-child,
.related-documents-card > a:last-child {
  border-bottom: 0;
}

.utility-navigation-card > a span:first-child {
  flex: 1;
}

.utility-navigation-card > a svg,
.related-documents-card > a > svg:last-child {
  color: #a07718;
  transition: transform 150ms ease;
}

.utility-navigation-card > a:hover,
.utility-navigation-card > a:focus-visible,
.related-documents-card > a:hover,
.related-documents-card > a:focus-visible {
  color: #7a5b13;
}

.utility-navigation-card > a:hover svg,
.utility-navigation-card > a:focus-visible svg,
.related-documents-card > a:hover > svg:last-child,
.related-documents-card > a:focus-visible > svg:last-child {
  transform: translateX(3px);
}

.utility-fact-card {
  color: #5f6972;
  background: #fffaf0;
}

.utility-fact-card span {
  display: block;
  color: #7e601a;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.utility-fact-card p {
  margin: 9px 0 0;
  font-size: 0.79rem;
  line-height: 1.58;
}

.info-empty-state {
  padding: 38px 30px;
  border: 1px dashed rgba(38, 45, 53, 0.2);
  border-radius: 18px;
  color: #69727b;
  text-align: center;
  background: #fff;
}

.info-empty-state h3 {
  margin: 9px 0 0;
  color: var(--tkm-ink);
  font-size: 1.25rem;
  font-weight: 850;
}

.info-empty-state p {
  margin: 8px auto 0;
  max-width: 500px;
}

/* Dedicated FAQ page */
.faq-page__toolbar {
  min-height: 70px;
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 17px;
  padding: 10px 12px 10px 18px;
  border: 1px solid rgba(38, 45, 53, 0.12);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(24, 31, 38, 0.055);
}

.faq-search {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 11px;
  flex: 1;
  color: #8a9299;
}

.faq-search input {
  width: 100%;
  min-width: 0;
  height: 46px;
  padding: 0;
  border: 0;
  outline: 0;
  color: var(--tkm-ink);
  background: transparent;
  font-size: 0.9rem;
}

.faq-search input::placeholder {
  color: #9ba2a9;
}

.faq-page__count {
  flex: 0 0 auto;
  padding: 10px 13px;
  border-radius: 10px;
  color: #75570f;
  background: #fff5d5;
  font-size: 0.72rem;
  font-weight: 850;
}

.faq-page__accordion {
  border-radius: 20px !important;
}

.faq-page__accordion .accordion-button {
  min-height: 76px;
  padding: 20px 24px;
  font-size: 1rem;
}

.faq-page__accordion .accordion-body {
  overflow-x: auto;
  padding: 4px 24px 26px;
  font-size: 0.93rem;
}

.faq-page__accordion .accordion-body > :last-child {
  margin-bottom: 0;
}

.faq-page__accordion .accordion-body h2,
.faq-page__accordion .accordion-body h3,
.faq-page__accordion .accordion-body h4 {
  margin: 1.35em 0 0.55em;
  color: var(--tkm-ink);
  font-weight: 850;
  line-height: 1.25;
}

.faq-page__accordion .accordion-body ul,
.faq-page__accordion .accordion-body ol {
  display: grid;
  gap: 7px;
  padding-left: 1.25rem;
}

.faq-page__accordion .accordion-body a {
  color: #785a13;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.faq-page__accordion .accordion-body table {
  width: 100%;
  min-width: 620px;
  margin: 20px 0;
  border-collapse: collapse;
  background: #fff;
}

.faq-page__accordion .accordion-body th,
.faq-page__accordion .accordion-body td {
  padding: 11px 13px;
  border: 1px solid rgba(38, 45, 53, 0.12);
  text-align: left;
}

.faq-page__empty {
  margin-top: 17px;
}

/* Documents index */
.document-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.document-card {
  min-height: 325px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 28px;
  border: 1px solid rgba(38, 45, 53, 0.12);
  border-radius: 21px;
  position: relative;
  color: var(--tkm-ink);
  background: #fff;
  box-shadow: 0 16px 38px rgba(24, 31, 38, 0.07);
  text-decoration: none;
  transition: border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease;
}

.document-card::after {
  content: "";
  height: 4px;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--tkm-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 170ms ease;
}

.document-card:hover,
.document-card:focus-visible {
  border-color: rgba(217, 170, 46, 0.58);
  color: var(--tkm-ink);
  box-shadow: 0 23px 52px rgba(24, 31, 38, 0.12);
  transform: translateY(-4px);
}

.document-card:hover::after,
.document-card:focus-visible::after {
  transform: scaleX(1);
}

.document-card__index {
  position: absolute;
  top: 24px;
  right: 26px;
  color: rgba(38, 45, 53, 0.14);
  font-size: 1.7rem;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.document-card__icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(217, 170, 46, 0.3);
  border-radius: 16px;
  color: #8a6819;
  background: #fff7dc;
}

.document-card__eyebrow {
  display: block;
  margin-top: 28px;
  color: #8a6b21;
  font-size: 0.66rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.document-card h3 {
  margin: 8px 0 0;
  color: var(--tkm-ink);
  font-size: 1.35rem;
  font-weight: 880;
  letter-spacing: -0.035em;
  line-height: 1.16;
}

.document-card p {
  margin: 13px 0 0;
  color: #6b737b;
  font-size: 0.83rem;
  line-height: 1.57;
}

.document-card__action {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 24px;
  color: #76580f;
  font-size: 0.78rem;
  font-weight: 850;
}

.document-card__action svg {
  transition: transform 160ms ease;
}

.document-card:hover .document-card__action svg,
.document-card:focus-visible .document-card__action svg {
  transform: translateX(4px);
}

.documents-note {
  grid-column: 1 / -1;
  min-height: 104px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-top: 4px;
  padding: 22px 24px;
  border: 1px solid rgba(217, 170, 46, 0.25);
  border-radius: 18px;
  background: #fff9e9;
}

.documents-note__icon {
  width: 47px;
  height: 47px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  color: #806015;
  background: var(--tkm-gold);
}

.documents-note strong {
  color: var(--tkm-ink);
  font-size: 0.9rem;
  font-weight: 850;
}

.documents-note p {
  margin: 4px 0 0;
  color: #6d747b;
  font-size: 0.77rem;
  line-height: 1.48;
}

.documents-note > a {
  color: #71540e;
  font-size: 0.78rem;
  font-weight: 850;
  white-space: nowrap;
  text-decoration: none;
}

/* Single document */
.legal-document-card {
  overflow: hidden;
  border: 1px solid rgba(38, 45, 53, 0.11);
  border-radius: 23px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(24, 31, 38, 0.08);
}

.legal-document-card__header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 25px 29px;
  border-bottom: 1px solid rgba(38, 45, 53, 0.1);
  background: #fafbfb;
}

.legal-document-card__icon {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 52px;
  border-radius: 14px;
  color: #806015;
  background: #fff3c7;
}

.legal-document-card__header span,
.legal-document-card__header h2 {
  display: block;
}

.legal-document-card__header div > span {
  color: #8a6b21;
  font-size: 0.67rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.legal-document-card__header h2 {
  margin: 5px 0 0;
  color: var(--tkm-ink);
  font-size: 1.23rem;
  font-weight: 880;
  letter-spacing: -0.025em;
}

.legal-prose {
  padding: clamp(29px, 4.2vw, 54px);
  color: #4f5962;
  font-size: 0.96rem;
  line-height: 1.78;
}

.legal-prose > :first-child {
  margin-top: 0;
}

.legal-prose > :last-child {
  margin-bottom: 0;
}

.legal-prose h1,
.legal-prose h2,
.legal-prose h3,
.legal-prose h4 {
  margin: 1.5em 0 0.65em;
  color: var(--tkm-ink);
  font-weight: 880;
  letter-spacing: -0.025em;
  line-height: 1.18;
}

.legal-prose h1 {
  font-size: 2rem;
}

.legal-prose h2 {
  font-size: 1.55rem;
}

.legal-prose h3 {
  font-size: 1.22rem;
}

.legal-prose ul,
.legal-prose ol {
  display: grid;
  gap: 8px;
  padding-left: 1.25rem;
}

.legal-prose a {
  color: #72550f;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.legal-prose table {
  width: 100%;
  display: block;
  overflow-x: auto;
  margin: 22px 0;
  border-collapse: collapse;
}

.legal-prose th,
.legal-prose td {
  min-width: 180px;
  padding: 11px 13px;
  border: 1px solid rgba(38, 45, 53, 0.13);
  text-align: left;
}

.legal-empty-state {
  min-height: 410px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  padding: clamp(42px, 7vw, 78px) clamp(24px, 6vw, 68px);
  text-align: center;
}

.legal-empty-state__mark {
  width: 78px;
  height: 78px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(217, 170, 46, 0.32);
  border-radius: 22px;
  color: #846319;
  background: #fff5d4;
}

.legal-empty-state > span {
  display: block;
  margin-top: 24px;
  color: #8a6b21;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.legal-empty-state h3 {
  margin: 10px 0 0;
  color: var(--tkm-ink);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.legal-empty-state p {
  max-width: 610px;
  margin: 16px auto 0;
  color: #68717a;
  font-size: 0.92rem;
  line-height: 1.65;
}

.legal-empty-state__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 26px;
}

.legal-empty-state__actions a {
  min-height: 47px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 17px;
  border: 1px solid rgba(38, 45, 53, 0.13);
  border-radius: 11px;
  color: var(--tkm-ink);
  background: #fff;
  font-size: 0.78rem;
  font-weight: 850;
  text-decoration: none;
}

.legal-empty-state__actions a:first-child {
  border-color: var(--tkm-gold);
  background: var(--tkm-gold);
}

.legal-document-card__footer {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 29px;
  border-top: 1px solid rgba(38, 45, 53, 0.1);
  background: #fafbfb;
}

.legal-document-card__footer > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #71540e;
  font-size: 0.76rem;
  font-weight: 850;
  text-decoration: none;
}

.legal-document-card__footer > span {
  color: #788088;
  font-size: 0.72rem;
}

.legal-document-card__footer > span a {
  color: var(--tkm-ink);
  font-weight: 800;
  text-decoration: none;
}

.related-documents-card > a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.related-documents-card__icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  color: #816117;
  background: #fff5d5;
}

/* Contact page */
.contact-hero-panel__status {
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.71rem;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.contact-hero-panel__status span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #64cf83;
  box-shadow: 0 0 0 5px rgba(100, 207, 131, 0.12);
}

.contact-hero-panel__phone {
  display: block;
  margin-top: 22px;
  color: #fff;
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 1;
  text-decoration: none;
}

.contact-hero-panel__phone:hover,
.contact-hero-panel__phone:focus-visible {
  color: var(--tkm-gold);
}

.contact-hero-panel > p {
  margin: 11px 0 0;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.78rem;
}

.contact-hero-panel__route {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 23px;
  padding-top: 19px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--tkm-gold);
  font-size: 0.78rem;
  font-weight: 850;
  text-decoration: none;
}

.contact-hero-panel__route:hover,
.contact-hero-panel__route:focus-visible {
  color: #ffdc68;
}

.contact-details-section,
.contact-team-section {
  padding: clamp(66px, 7vw, 100px) 0;
  background: #fff;
}

.contact-details-heading {
  margin-bottom: 36px;
}

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

.contact-detail-card {
  min-height: 215px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  padding: 23px;
  border: 1px solid rgba(38, 45, 53, 0.11);
  border-radius: 18px;
  color: var(--tkm-ink);
  background: #fafbfb;
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease,
    box-shadow 160ms ease, transform 160ms ease;
}

.contact-detail-card:hover,
.contact-detail-card:focus-visible {
  border-color: rgba(217, 170, 46, 0.53);
  color: var(--tkm-ink);
  background: #fffaf0;
  box-shadow: 0 18px 40px rgba(24, 31, 38, 0.09);
  transform: translateY(-3px);
}

.contact-detail-card__icon {
  width: 49px;
  height: 49px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  color: #806015;
  background: #fff2be;
}

.contact-detail-card__label {
  display: block;
  margin-top: 25px;
  color: #878e95;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.contact-detail-card strong {
  display: block;
  margin-top: 6px;
  color: var(--tkm-ink);
  font-size: 0.93rem;
  font-weight: 850;
  line-height: 1.34;
  overflow-wrap: anywhere;
}

.contact-detail-card small {
  display: block;
  margin-top: auto;
  padding-top: 14px;
  color: #858c93;
  font-size: 0.68rem;
}

.contact-workspace-section {
  padding: clamp(66px, 7vw, 102px) 0;
  background: #f4f6f7;
}

.contact-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.65fr);
  align-items: stretch;
  gap: 21px;
}

.contact-map-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(38, 45, 53, 0.11);
  border-radius: 23px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(24, 31, 38, 0.075);
}

.contact-map-card__header {
  min-height: 154px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding: 27px 29px;
}

.contact-map-card__header .section-kicker {
  margin-bottom: 10px;
}

.contact-map-card__header h2 {
  margin: 0;
  color: var(--tkm-ink);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 900;
  letter-spacing: -0.045em;
}

.contact-map-card__header p {
  margin: 8px 0 0;
  color: #6c757d;
  font-size: 0.83rem;
}

.contact-map-card__header > a {
  flex: 0 0 auto;
  color: #74570f;
  font-size: 0.77rem;
  font-weight: 850;
  text-decoration: none;
}

.contact-map-card__frame {
  height: 470px;
  overflow: hidden;
  border-top: 1px solid rgba(38, 45, 53, 0.1);
  position: relative;
  background:
    linear-gradient(135deg, rgba(244, 197, 66, 0.1), transparent 48%),
    #ecefea;
}

.contact-map-card__frame iframe {
  width: 100% !important;
  height: 470px !important;
  display: block;
  border: 0 !important;
}

.contact-map-card__frame > .dg-widget-link {
  position: absolute;
  z-index: 1;
  left: 18px;
  bottom: 16px;
  padding: 8px 11px;
  border-radius: 8px;
  color: var(--tkm-ink);
  background: rgba(255, 255, 255, 0.92);
  font-size: 0.68rem;
  font-weight: 800;
  text-decoration: none;
}

.contact-map-card__frame > div.dg-widget-link {
  display: none;
}

.contact-form-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(29px, 3.6vw, 43px);
  border-radius: 23px;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(244, 197, 66, 0.14), transparent 26%),
    #20272e;
  box-shadow: 0 22px 55px rgba(24, 31, 38, 0.16);
}

.contact-form-card h2 {
  margin: 10px 0 0;
  color: #fff;
  font-size: clamp(2rem, 3.3vw, 3rem);
  font-weight: 900;
  letter-spacing: -0.052em;
  line-height: 1;
}

.contact-form-card > p {
  margin: 17px 0 0;
  color: rgba(255, 255, 255, 0.63);
  font-size: 0.87rem;
  line-height: 1.62;
}

.contact-lead-form {
  display: grid;
  gap: 15px;
  margin-top: 28px;
}

.contact-form-field {
  display: grid;
  gap: 7px;
}

.contact-form-field label {
  color: rgba(255, 255, 255, 0.67);
  font-size: 0.7rem;
  font-weight: 800;
}

.contact-form-field input {
  width: 100%;
  height: 52px;
  padding: 0 15px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 11px;
  outline: 0;
  color: #fff;
  background: rgba(255, 255, 255, 0.07);
  font-size: 0.86rem;
  transition: border-color 150ms ease, background-color 150ms ease;
}

.contact-form-field input::placeholder {
  color: rgba(255, 255, 255, 0.36);
}

.contact-form-field input:focus {
  border-color: rgba(244, 197, 66, 0.75);
  background: rgba(255, 255, 255, 0.1);
}

.contact-lead-form button {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 3px;
  padding: 12px 17px;
  border: 1px solid var(--tkm-gold);
  border-radius: 11px;
  color: var(--tkm-ink);
  background: var(--tkm-gold);
  font-size: 0.82rem;
  font-weight: 850;
  transition: background-color 150ms ease, transform 150ms ease;
}

.contact-lead-form button:hover,
.contact-lead-form button:focus-visible {
  background: #ffd85d;
  transform: translateY(-1px);
}

.contact-lead-form > small {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.63rem;
  line-height: 1.45;
  text-align: center;
}

.contact-lead-form > small a {
  color: rgba(255, 255, 255, 0.7);
}

.contact-form-card__direct {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.11);
}

.contact-form-card__direct > span {
  color: rgba(255, 255, 255, 0.47);
  font-size: 0.68rem;
}

.contact-form-card__direct > a {
  color: var(--tkm-gold);
  font-size: 0.72rem;
  font-weight: 850;
  text-decoration: none;
}

.contact-team-section .info-section__heading {
  margin-bottom: 36px;
}

.contact-team-panel .phonehub-managers {
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 1rem;
}

.contact-team-panel .phonehub-managers > div {
  display: flex;
}

.contact-team-panel .phonehub-managers .card {
  width: 100%;
  min-height: 170px;
  padding: 23px !important;
  border: 1px solid rgba(38, 45, 53, 0.11) !important;
  border-radius: 18px !important;
  position: relative;
  background: #fafbfb;
  box-shadow: none !important;
}

.contact-team-panel .phonehub-managers .card::before {
  content: "";
  width: 9px;
  height: 9px;
  position: absolute;
  top: 24px;
  right: 24px;
  border-radius: 50%;
  background: #5bc67b;
  box-shadow: 0 0 0 5px rgba(91, 198, 123, 0.12);
}

.contact-team-panel .phonehub-managers .card p {
  padding-right: 25px;
  color: var(--tkm-ink);
  font-size: 1rem;
  font-weight: 850 !important;
}

.contact-team-panel .phonehub-managers .card a {
  color: #6e5311;
  font-weight: 780;
}

.contact-team-panel .phonehub-managers .card a:first-of-type {
  margin-top: auto;
  padding-top: 18px;
  color: var(--tkm-ink);
  font-size: 0.94rem;
  font-weight: 850;
}

@media (max-width: 1199.98px) {
  .utility-hero__grid {
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 42px;
  }

  .contact-details-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-detail-card {
    min-height: 195px;
  }

  .contact-workspace {
    grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.7fr);
  }
}

@media (max-width: 991.98px) {
  .utility-hero__grid,
  .info-layout,
  .document-detail-layout,
  .contact-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .utility-hero__panel {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0 20px;
  }

  .utility-hero__panel.contact-hero-panel {
    display: block;
  }

  .utility-hero__panel-copy {
    margin-top: 0;
  }

  .utility-hero__checklist {
    grid-column: 1 / -1;
  }

  .info-sidebar,
  .document-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    position: static;
  }

  .utility-support-card,
  .utility-navigation-card,
  .related-documents-card,
  .utility-fact-card {
    height: 100%;
  }

  .contact-map-card__frame,
  .contact-map-card__frame iframe {
    height: 430px !important;
  }

  .contact-form-card__direct {
    margin-top: 28px;
  }
}

@media (max-width: 767.98px) {
  .utility-hero {
    padding-top: calc(var(--tkm-header-height) + 34px);
  }

  .info-section__heading {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 17px;
  }

  .info-section__heading > p {
    justify-self: start;
  }

  .document-card-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .documents-note {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .documents-note > a {
    grid-column: 2;
  }

  .legal-document-card__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .contact-map-card__header {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 575.98px) {
  .info-page .container-xl {
    --bs-gutter-x: 1.5rem;
  }

  .utility-hero {
    padding-top: calc(var(--tkm-header-height) + 24px);
    padding-bottom: 58px;
  }

  .utility-hero .content-breadcrumb {
    margin-bottom: 27px;
  }

  .utility-hero h1 {
    font-size: clamp(2.35rem, 11.5vw, 3.15rem);
    line-height: 1;
  }

  .utility-hero__content > p {
    margin-top: 18px;
    font-size: 0.91rem;
  }

  .utility-hero__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    margin-top: 25px;
  }

  .utility-button {
    width: 100%;
  }

  .utility-hero__panel {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 21px;
    border-radius: 18px;
  }

  .utility-hero__panel-icon {
    width: 50px;
    height: 50px;
  }

  .utility-hero__panel-copy strong {
    font-size: 1.07rem;
  }

  .utility-hero__checklist {
    margin-top: 18px;
    padding-top: 16px;
  }

  .info-section,
  .contact-details-section,
  .contact-workspace-section,
  .contact-team-section {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .info-section__heading,
  .contact-details-heading,
  .contact-team-section .info-section__heading {
    margin-bottom: 29px;
  }

  .info-section__heading h2 {
    font-size: clamp(2.05rem, 10vw, 2.75rem);
  }

  .info-section__heading > p {
    font-size: 0.88rem;
  }

  .info-sidebar,
  .document-sidebar {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-page__toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 5px;
    padding: 12px 15px;
  }

  .faq-page__count {
    align-self: flex-start;
    padding: 7px 10px;
  }

  .faq-page__accordion .accordion-button {
    min-height: 67px;
    padding: 17px 17px;
    font-size: 0.88rem;
  }

  .faq-page__accordion .accordion-body {
    padding: 3px 17px 21px;
    font-size: 0.86rem;
  }

  .document-card {
    min-height: 300px;
    padding: 23px;
    border-radius: 18px;
  }

  .document-card__index {
    top: 20px;
    right: 22px;
  }

  .documents-note {
    grid-template-columns: minmax(0, 1fr);
    padding: 22px;
  }

  .documents-note > a {
    grid-column: auto;
  }

  .legal-document-card {
    border-radius: 19px;
  }

  .legal-document-card__header {
    align-items: flex-start;
    padding: 21px;
  }

  .legal-document-card__icon {
    width: 45px;
    height: 45px;
    flex-basis: 45px;
  }

  .legal-empty-state {
    min-height: 390px;
    padding: 43px 21px;
  }

  .legal-empty-state__actions {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .legal-empty-state__actions a {
    width: 100%;
  }

  .legal-document-card__footer {
    padding: 19px 21px;
  }

  .contact-hero-panel__phone {
    font-size: 1.72rem;
  }

  .contact-details-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-detail-card {
    min-height: 176px;
  }

  .contact-map-card,
  .contact-form-card {
    border-radius: 19px;
  }

  .contact-map-card__header {
    min-height: 0;
    padding: 23px 21px;
  }

  .contact-map-card__frame,
  .contact-map-card__frame iframe {
    height: 390px !important;
  }

  .contact-form-card {
    padding: 27px 21px;
  }

  .contact-form-card h2 {
    font-size: 2.2rem;
  }

  .contact-form-card__direct {
    align-items: flex-start;
    flex-direction: column;
  }

  .contact-team-panel .phonehub-managers .card {
    min-height: 155px;
    padding: 20px !important;
  }

  .contact-team-panel .phonehub-managers {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(258px, 82vw);
    gap: 12px;
    overflow-x: auto;
    margin: 0;
    padding: 0 12px 12px 0;
    scroll-padding-left: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .contact-team-panel .phonehub-managers > div {
    width: auto;
    max-width: none;
    padding: 0;
    scroll-snap-align: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .utility-button,
  .document-card,
  .document-card::after,
  .document-card__action svg,
  .contact-detail-card,
  .contact-lead-form button,
  .utility-navigation-card > a svg,
  .related-documents-card > a > svg:last-child {
    transition: none !important;
  }
}

/* ---------------------------------------------------------------------------
   Compact language switcher (2026-08-13, operator request).
   Previously borrowed .site-managers-toggle and rendered the FULL language name
   ('Русский', '简体中文'), which is why the control was wide. That class is now
   orphaned in this header -- the 'Все менеджеры' control it belonged to was
   removed on the same request -- so the switcher gets its own.
   The button shows a globe + a SHORT code (RU/EN/KK/TR/中文); the dropdown items
   keep the full names.
   --------------------------------------------------------------------------- */
.site-lang-toggle {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
  padding: 8px 11px;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.32) !important;
  background: rgba(15, 21, 27, 0.24) !important;
}

.site-lang-toggle:hover,
.site-lang-toggle:focus-visible,
.site-lang-toggle.show {
  color: var(--tkm-ink) !important;
  border-color: var(--tkm-gold) !important;
  background: var(--tkm-gold) !important;
}

/* The shrunk (scrolled) navbar switches to a light ground, same as the phone
   link, or the white-on-white would vanish. */
.site-navbar.shrink .site-lang-toggle {
  color: var(--tkm-ink) !important;
  border-color: var(--tkm-line) !important;
  background: #f4f5f6 !important;
}

.site-lang-toggle .site-lang-code {
  font-size: 0.94rem;
  letter-spacing: 0.02em;
}

/* Bootstrap draws a caret via ::after on .dropdown-toggle; at this width it is
   noise next to a 2-3 character label. */
.site-lang-toggle.dropdown-toggle::after {
  display: none;
}

.site-lang-menu {
  width: max-content;
  min-width: 168px;
  max-height: calc(100vh - 96px);
  overflow-y: auto;
  padding: 8px;
}

/* ---------------------------------------------------------------------------
   Nav items without a dropdown must occupy the SAME box as those with one
   (2026-08-13, operator: "'запчасти' button is not styled like others").

   MEASURED, not reasoned: all five .site-nav-link controls share one rule that
   normalises appearance, border, background, padding, font-size, font-weight
   and line-height -- which is why they look close -- but Bootstrap draws a
   caret on .dropdown-toggle via ::after, and that caret is suppressed ONLY for
   .site-lang-toggle. So the four dropdown buttons each reserve
   0.6em of border-box + 0.255em of margin-left = 0.855em (~11.5px at this
   nav's 0.84rem) that the plain anchor does not, and its label sits out of
   rhythm with every neighbour on every render.

   Ruled OUT by reading the live CSS, not by preference: .nav-link carries
   text-decoration:none so reboot's a{text-decoration:underline} never lands;
   no a:visited rule exists in either stylesheet and .site-navbar
   .site-nav-link (0,2,0) outranks a (0,0,1) for colour; reboot's
   button{font-family:inherit} loads before this file.

   Written against :not(.dropdown-toggle) rather than the Запчасти anchor,
   because a rule that fixes one element BY NAME breaks the next time someone
   adds a non-dropdown nav item. Space is RESERVED, not filled with a caret: a
   caret that opens no menu is a worse bug than uneven spacing.
   --------------------------------------------------------------------------- */
.site-navbar .site-nav-link:not(.dropdown-toggle)::after {
  content: "";
  display: inline-block;
  flex: 0 0 auto;      /* .site-nav-link is inline-flex, so ::after is a flex item */
  width: 0.6em;        /* Bootstrap caret border box: 0.3em + 0.3em */
  margin-left: 0.255em;/* Bootstrap caret margin-left */
}

/* ---------------------------------------------------------------------------
   PRODUCT PAGE — PREMIUM VISUAL PASS (2026-08-17b)

   Appended layer; overrides earlier product-hero rules by source order.
   The three defects this fixes, in priority order:

   1. Dead dark gap in the media column: align-items:stretch sized the dark
      media card to the right-hand column, so the photo floated in a void.
      The card is now content-sized (badge overlay + fixed-ratio stage +
      caption) and top-aligned; sticky on desktop so it rides the scroll.
   2. White-matted product photos read as a pasted white rectangle on the
      dark card. The stage is now a FLAT #fff photo card: matte edges vanish
      into the surface, transparent PNGs read as catalog photography. The
      surface must stay flat white — any tint or gradient re-exposes the
      matte edge (same trap as the xcmg ink-plinth incident, inverted).
      For the same reason the img drop-shadow filter is gone: on a matted
      image drop-shadow outlines the rectangle, not the machine.
   3. On stacked layouts the photo sat below the whole right column.
      .product-hero__content becomes display:contents there, so its children
      join the grid and the photo slots directly after the h1. The media
      block holds no focusable elements, so tab order is unaffected.

   The specs + configurations band under the hero moves to white cards:
   dense data reads better dark-on-light, and the white band hands the dark
   hero off to the light content section without a hard seam. Scoped under
   .product-hero__below only — the car template keeps its in-column specs on
   dark glass. .brand-notes__item carries an inline <style> in the include
   (red #d71920 left rule, white card) that clashes inside the dark purchase
   card; the include is shared, so it is re-skinned here at higher
   specificity (.product-purchase .brand-notes__*), not edited.
   --------------------------------------------------------------------------- */

.product-hero {
  /* clip, not hidden: same visual crop of the decorative ::before circle,
     but no scroll container, so the sticky media card below can work. */
  overflow: clip;
  padding-bottom: 58px;
}

.product-hero__grid {
  align-items: start;
}

/* 1+2 — the media block becomes a content-sized white photo card. */
.product-hero__media {
  min-height: 0;
  justify-content: flex-start;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 32px 70px rgba(0, 0, 0, 0.34);
  backdrop-filter: none;
}

.product-hero__media > .catalog-status-badge {
  position: absolute;
  top: 16px;
  left: 16px;
}

.product-hero__image-stage {
  width: 100%;
  min-height: 0;
  aspect-ratio: 4 / 3;
  padding: clamp(22px, 2.6vw, 34px);
}

.product-hero__image-stage .product-hero__image-ring {
  display: none;
}

.product-hero__image-stage img {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  object-fit: contain;
  filter: none;
}

.product-hero__media-caption {
  padding: 13px 22px 14px;
  border-top: 1px solid rgba(16, 21, 26, 0.09);
  color: #79818a;
}

@media (min-width: 992px) {
  .product-hero__media {
    position: sticky;
    top: calc(var(--tkm-header-height) + 22px);
    align-self: start;
  }
}

/* Readability bump for the in-column dark specs card (car template). */
.product-hero__content .product-hero__specs td {
  color: rgba(255, 255, 255, 0.66);
  font-size: 0.76rem;
}

.product-hero__content .product-hero__specs td:last-child {
  color: #fff;
}

/* Purchase card — slightly deeper glass, larger price, consistent radii. */
.product-purchase {
  padding: 20px 22px 18px;
  border-color: rgba(255, 255, 255, 0.14);
  background: linear-gradient(180deg, rgba(17, 23, 28, 0.5), rgba(12, 17, 21, 0.3));
}

.product-purchase__price > strong {
  font-size: clamp(1.5rem, 2.3vw, 2.2rem);
}

.product-delivery-term {
  border-radius: 12px;
}

.product-purchase .brand-notes__item {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-left: 3px solid var(--tkm-gold);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
}

.product-purchase .brand-notes__title {
  color: #fff;
  font-size: 0.82rem;
  font-weight: 850;
}

.product-purchase .brand-notes__text {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.76rem;
}

/* 3 — stacked layouts: photo directly after the h1. */
@media (max-width: 991.98px) {
  .product-hero__grid {
    row-gap: 0;
  }

  .product-hero__content {
    display: contents;
  }

  .product-hero__grid .catalog-kicker {
    order: -2;
  }

  .product-hero__grid h1 {
    order: -1;
  }

  .product-hero__media {
    order: 0;
    width: min(100%, 560px);
    margin: 22px auto 4px;
  }

  .product-hero__summary {
    margin: 18px 0 0;
  }

  .product-hero__content .product-hero__specs {
    margin: 16px 0 0;
  }

  .product-purchase {
    margin-top: 20px;
  }
}

/* Specs + configurations band — white data cards on the dark hero floor.
   They straddle the visual weight between hero and light section, so the
   dark-to-light junction reads as a designed handoff, not a seam. */
.product-hero__below {
  gap: 16px clamp(16px, 2vw, 26px);
  margin-top: clamp(30px, 4vw, 46px);
}

.product-hero__below .product-hero__specs,
.product-hero__below .product-configuration-selector {
  border: 1px solid rgba(16, 21, 26, 0.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 26px 56px rgba(0, 0, 0, 0.3);
}

.product-hero__below .product-hero__specs {
  padding: 8px 24px;
}

.product-hero__below .product-hero__specs tr:not(:last-child) {
  border-bottom: 1px solid #eef0f2;
}

.product-hero__below .product-hero__specs td {
  padding: 13px 0;
  color: #6a727b;
  font-size: 0.8rem;
}

.product-hero__below .product-hero__specs td:last-child {
  color: var(--tkm-ink);
}

.product-hero__below .product-configuration-selector {
  padding: 18px 24px 14px;
}

.product-hero__below .product-configuration-selector__heading {
  padding: 0 0 12px;
}

.product-hero__below .product-configuration-selector__heading span {
  color: #9a7418;
  font-size: 0.6rem;
}

.product-hero__below .product-configuration-selector__heading h2 {
  color: var(--tkm-ink);
  font-size: 1.1rem;
}

.product-hero__below .product-configuration-selector__heading > small {
  border-color: #e2e5e7;
  color: #6a727b;
}

.product-hero__below .product-configuration-selector__list {
  border-top: 1px solid #eef0f2;
}

.product-hero__below .product-configuration-option {
  gap: 10px;
  padding: 10px 2px;
}

.product-hero__below .product-configuration-option + .product-configuration-option {
  border-top: 1px solid #f0f2f3;
}

.product-hero__below .product-configuration-option__number {
  color: #8a6816;
  background: rgba(244, 197, 66, 0.18);
}

.product-hero__below .product-configuration-option h3 {
  color: var(--tkm-ink);
  font-size: 0.8rem;
}

.product-hero__below .product-configuration-option > strong {
  color: var(--tkm-ink);
  font-size: 0.8rem;
}

.product-hero__below .product-configuration-option__phone {
  border-color: rgba(178, 138, 32, 0.5);
  color: #7a5c10;
  background: rgba(244, 197, 66, 0.12);
}

.product-hero__below .product-configuration-selector > p {
  margin-top: 10px;
  color: #8a9198;
  font-size: 0.63rem;
}

/* Related/catalog cards — flat white media for the same mixed-image reason
   as the hero photo card; the baked-in floor ellipse still grounds
   transparent artwork and hides harmlessly behind matted photos. */
.catalog-product-card__media {
  background: #fff;
}

/* ==========================================================================
   Product video + attachment matrix (2026-08-25, LW300FN)
   Both blocks render only when the product carries the data, so no existing
   page gains a single byte of markup from them.
   ========================================================================== */

/* -- Video ---------------------------------------------------------------
   The source clip is portrait (464x832). Constraining by HEIGHT rather than
   width is what keeps a phone-shot video from taking over a desktop page:
   at 620px tall the player is ~346px wide and sits centred in the column. */
.product-video__stage {
  display: flex;
  justify-content: center;
}

.product-video__player {
  display: block;
  width: 100%;
  max-width: 346px;
  max-height: 620px;
  aspect-ratio: 464 / 832;
  height: auto;
  border-radius: 18px;
  background: #12161c;
  box-shadow: 0 18px 44px rgba(18, 22, 28, 0.18);
}

/* 250px, not 320px, is a MEASURED value. The site's fixed call/WhatsApp
   bubbles sit at x 17-62 and x 328-373 on a 390px viewport, and a native
   <video> puts its play button ~10px in from its own left edge. At 320px the
   player spans 35-355 and the play button lands at 45-69 -- straight under the
   call bubble whenever the video's bottom is scrolled into y 742-827. At 250px
   it spans 70-320, clearing both bubbles by 8px of box and ~18px of button.
   Occluding the bubbles with a z-index instead would have hidden a lead
   capture control, which is not a trade this site can make. */
@media (max-width: 575.98px) {
  .product-video__player {
    max-width: 250px;
    max-height: 448px;
  }
}

/* -- Attachment matrix ---------------------------------------------------
   Nine columns cannot fit 390px, so the TABLE owns the horizontal scroll and
   the page never does. `width: max-content` needs the table to be a block
   box; the row/cell boxes are still generated, so column sizing is normal.
   The first column is sticky so a row stays identifiable while scrolling. */
.product-attachments__content {
  color: #5e6770;
  font-size: 0.91rem;
  line-height: 1.7;
}

.product-attachments__content > :last-child {
  margin-bottom: 0;
}

.product-attachments__content h3 {
  margin: 1.5em 0 0.6em;
  color: var(--tkm-ink);
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: -0.025em;
}

.product-attachments__content table {
  display: block;
  width: max-content;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  border-radius: 14px;
  -webkit-overflow-scrolling: touch;
}

.product-attachments__content th,
.product-attachments__content td {
  padding: 9px 11px;
  border: 1px solid #e2e5e7;
  font-size: 0.76rem;
  line-height: 1.35;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.product-attachments__content thead th {
  background: #f3f4f5;
  color: var(--tkm-ink);
  font-weight: 800;
  white-space: normal;
  /* "Взаимозаменяемый" is 16 characters with no break opportunity and is wider
     than the column; without this it spills over the neighbouring header.
     break-word, NOT anywhere: `anywhere` also feeds the intrinsic min-content
     width, which squeezed every other header and split "(вразбежку)" across
     two lines mid-word. */
  overflow-wrap: break-word;
  min-width: 92px;
  max-width: 128px;
}

.product-attachments__content tbody tr:nth-child(even) td {
  background: #fafbfb;
}

.product-attachments__content th:first-child,
.product-attachments__content td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 196px;
  max-width: 260px;
  text-align: left;
  white-space: normal;
  background: #fff;
}

.product-attachments__content thead th:first-child {
  z-index: 2;
  background: #f3f4f5;
}

.product-attachments__content tbody tr:nth-child(even) td:first-child {
  background: #fafbfb;
}

.product-attachments__content th:last-child,
.product-attachments__content td:last-child {
  min-width: 62px;
  color: #8a9198;
}

.product-attachments__content p {
  margin: 0 0 14px;
}

.product-attachments__content table + p {
  margin-top: 14px;
  font-size: 0.78rem;
  color: #8a9198;
}

/* ==========================================================================
   Manufacturer's parameter table as its own section (2026-08-25, round 2)
   Lifted out of the "Технические характеристики" card so it gets the full
   container width. Renders only for a product carrying TehModel.factory_specs,
   so no other catalogue page gains a byte from this block.
   ========================================================================== */
.product-factory-specs {
  background: #f3f5f6;
}

/* overflow-x: auto does two jobs: it clips the rounded corners, and if a cell
   ever outgrows its column the TABLE scrolls rather than the page. With
   table-layout: fixed below it should never need to. */
.product-factory-specs__content {
  min-width: 0;
  overflow-x: auto;
  border: 1px solid var(--tkm-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(22, 29, 35, 0.07);
  -webkit-overflow-scrolling: touch;
}

/* table-layout: fixed is what makes the declared 56/44 split hold. Left to
   auto sizing a 52-character label squeezes the value column until "10 400 ±
   200 кг" wraps three times on a phone. */
.product-factory-specs__content table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.product-factory-specs__content th,
.product-factory-specs__content td {
  padding: 14px clamp(14px, 2.4vw, 26px);
  border-bottom: 1px solid #e5e7e9;
  font-size: 0.94rem;
  line-height: 1.45;
  text-align: left;
  vertical-align: top;
  overflow-wrap: break-word;
}

.product-factory-specs__content thead th {
  background: #20272e;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.product-factory-specs__content tbody tr:nth-child(even) td {
  background: #fafbfb;
}

.product-factory-specs__content tbody tr:last-child td {
  border-bottom: 0;
}

.product-factory-specs__content th:first-child,
.product-factory-specs__content td:first-child {
  width: 56%;
  color: #5e6770;
}

.product-factory-specs__content td:last-child {
  color: var(--tkm-ink);
  font-weight: 800;
}

.product-factory-specs__content p {
  margin: 0;
  padding: 16px clamp(14px, 2.4vw, 26px) 18px;
  border-top: 1px solid #e5e7e9;
  color: #8a9198;
  font-size: 0.82rem;
  line-height: 1.6;
}

@media (max-width: 575.98px) {
  .product-factory-specs__content th,
  .product-factory-specs__content td {
    padding: 11px 13px;
    font-size: 0.85rem;
  }

  .product-factory-specs__content th:first-child,
  .product-factory-specs__content td:first-child {
    width: 52%;
  }
}
