.lm-featured-projects {
  --lm-fproj-bg: #ffffff;
  --lm-fproj-title: #2f1f16;
  --lm-fproj-text: #6c6968;
  --lm-fproj-card-shadow: 0 12px 26px rgba(20, 18, 16, 0.14);
  --lm-fproj-card-shadow-hover: 0 20px 42px rgba(20, 18, 16, 0.24);
  --lm-fproj-card-radius: 16px;
  --lm-fproj-item-width: 400px;
  --lm-fproj-item-height: 280px;
  --lm-fproj-gap: 30px;
  padding: 22px 0 24px;
  background: var(--lm-fproj-bg) !important;
}

.lm-featured-projects.alignfull {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.lm-fproj__inner {
  max-width: 1560px;
  margin: 0 auto;
  padding: 0 24px;
}

.lm-fproj__header {
  margin-bottom: 18px;
}

.lm-fproj__title {
  margin: 0 0 10px;
  font-size: clamp(30px, 2.6vw, 40px);
  line-height: 1.2;
  color: var(--lm-fproj-title);
}

.lm-fproj__subtitle {
  margin: 0;
  color: var(--lm-fproj-text);
  font-size: clamp(16px, 1.4vw, 22px);
  line-height: 1.4;
}

.lm-fproj__marquee {
  overflow-x: hidden;
  overflow-y: visible;
  padding-top: 8px;
  margin-top: -8px;
}

.lm-fproj__track {
  display: flex;
  gap: var(--lm-fproj-gap);
  width: max-content;
  animation: lm-fproj-scroll 40s linear infinite;
  will-change: transform;
}

.lm-featured-projects:hover .lm-fproj__track,
.lm-featured-projects:focus-within .lm-fproj__track {
  animation-play-state: paused;
}

.lm-fproj__card {
  width: var(--lm-fproj-item-width);
  min-width: var(--lm-fproj-item-width);
  height: var(--lm-fproj-item-height);
  border-radius: var(--lm-fproj-card-radius);
  overflow: hidden;
  box-shadow: none;
  transition: box-shadow 0.28s ease, transform 0.28s ease;
  background: transparent;
}

.lm-fproj__card:hover {
  box-shadow: var(--lm-fproj-card-shadow-hover);
  transform: translateY(-4px);
}

.lm-fproj__image,
.lm-fproj__placeholder {
  width: 100%;
  height: 100%;
  display: block;
}

.lm-fproj__image {
  object-fit: cover;
}

.lm-fproj__placeholder {
  background: linear-gradient(130deg, #e4dfda, #cfc6be);
}

@keyframes lm-fproj-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@media (max-width: 1024px) {
  .lm-featured-projects {
    --lm-fproj-item-width: 320px;
    --lm-fproj-item-height: 224px;
    --lm-fproj-gap: 20px;
    padding: 18px 0 20px;
  }
}

@media (max-width: 640px) {
  .lm-featured-projects {
    --lm-fproj-item-width: 260px;
    --lm-fproj-item-height: 182px;
    --lm-fproj-gap: 16px;
    padding: 14px 0 16px;
  }

  .lm-fproj__inner {
    padding: 0 14px;
  }

  .lm-fproj__header {
    margin-bottom: 12px;
  }
}
