.bg_landing_color {
  background-color: var(--landingBackground);
}
.bg_secondaryMastercolor {
  background-color: var(--secondaryMastercolor);
}
.bg_landing_color_gradient {
  background: var(--landingBackgroundLinearGradient);
}
/* colors */
.text_primary {
  color: var(--text_primary);
}
.text_secondaryMastercolor {
  color: var(--secondaryMastercolor);
}
.bg_mastercolor {
  background-color: var(--black);
}

/* fonts */

.font_10 {
  font-size: 10px;
}

.font_11 {
  font-size: 11px;
}

.font_12 {
  font-size: 12px;
}

.font_13 {
  font-size: 13px;
}

.font_14 {
  font-size: 14px;
}

.font_15 {
  font-size: 15px;
}

.font_16 {
  font-size: 16px;
}

.font_18 {
  font-size: 18px;
}

.font_20 {
  font-size: 20px;
}

.font_25 {
  font-size: 25px;
}

/* //fontWeights */
.fw_normal_400 {
  font-weight: var(--fw_normal);
}
.fw_medium_500 {
  font-weight: var(--fw_medium);
}

.fw_semibold_600 {
  font-weight: var(--fw_semibold);
}

/* //text decoration */
.text_decoration_line_doted_2x {
  text-decoration: underline dotted;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
  text-decoration-color: var(--secondaryMastercolor);
}

/* //layout */
.layoutBorderLeft {
  border-left: 1px solid var(--layoutBorderColor);
}

.layoutBorderRight {
  border-right: 1px solid var(--layoutBorderColor);
}

.layoutBorderBottom {
  border-bottom: 1px solid var(--layoutBorderColor);
}

.layoutBorderTop {
  border-top: 1px solid var(--layoutBorderColor);
}

/* //heights */
.h_42x {
  height: 42px;
}
.h_350x {
  height: 350px;
}
.h_400x {
  height: 400px;
}
.h_500x {
  height: 500px;
}

/* //buttons */

.primaryButton {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 15px;
  background-color: var(--primaryButtonColor);
  color: var(--primaryButtonTextColor);
  font-size: var(--primaryButtonFontSize);
  text-decoration: none;
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

/*
  Two-layer flip:
  .btn-text            — clips to one line height (overflow: hidden)
    .btn-word--top     — the visible text, moves UP on hover
    .btn-word--bottom  — hidden below, moves UP into view on hover
*/
.primaryButton .btn-text {
  position: relative;
  display: inline-block;
  overflow: hidden;
  line-height: 1;
  height: 1em;
  vertical-align: middle;
}

.primaryButton .btn-word--top,
.primaryButton .btn-word--bottom {
  display: block;
  transition: transform 0.42s cubic-bezier(0.76, 0, 0.24, 1);
  white-space: nowrap;
}

/* top word — sits at 0, goes to -110% on hover */
.primaryButton .btn-word--top {
  transform: translateY(0%);
}

/* bottom word — starts at +110% (below), slides to 0 on hover */
.primaryButton .btn-word--bottom {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(110%);
}

/* Hover — top exits up, bottom enters from below */
.primaryButton:hover .btn-word--top {
  transform: translateY(-110%);
}

.primaryButton:hover .btn-word--bottom {
  transform: translateY(0%);
}

/* Reduced motion fallback */
@media (prefers-reduced-motion: reduce) {
  .primaryButton .btn-word--top,
  .primaryButton .btn-word--bottom {
    transition: none;
  }
}

/* ── Infinite Logo Scroll ─────────────────────────────────────────────── */
.infinitescroll {
  overflow: hidden;
  padding: 40px 0;
}

.logos-scroll {
  width: 100%;
  overflow: hidden;
}

.logos-track {
  display: flex;
  align-items: center;
  gap: 80px;
  will-change: transform;
}

.logo-item {
  height: 115px;
  width: auto;
  max-width: 140px;
  min-width: 100px;
  object-fit: contain;
  /* filter: grayscale(100%) brightness(1.2); */
  /* opacity: 0.7; */
  transition: all 0.3s ease;
  flex-shrink: 0;
  /* background: transparent; */
}

.logo-item:hover {
  opacity: 1;
  transform: scale(1.1);
}
