.features {
  display: flex;
  justify-content: center;
  overflow: visible;
  padding: 0 0 48px;
}
.features-wrapper {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  max-width: 1260px;
  padding: 0 24px;
  box-sizing: border-box;
  overflow: visible;
}
@media (min-width: 768px) {
.features-wrapper {
    gap: 32px;
    padding: 0 2rem;
}
}
@media (min-width: 1024px) {
.features-wrapper {
    gap: 40px;
    padding: 0 72px;
}
}
.feature-card {
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  border-radius: 1.5rem;
  background-color: var(--Asphalt-15);
}
@media (min-width: 768px) {
.feature-card {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 44%);
    min-height: 532px;
}
}
@media (min-width: 1024px) {
.feature-card {
    position: sticky;
    top: 104px;
    grid-template-columns: minmax(0, 1fr) minmax(400px, 48%);
    height: 532px;
    transform: scale(var(--feature-card-scale, 1));
    transform-origin: top center;
    will-change: transform;
}
.feature-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: var(--Asphalt-100);
    opacity: var(--feature-card-overlay-opacity, 0);
    pointer-events: none;
}
}
@media (min-width: 1280px) {
.feature-card {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
}
.feature-card:nth-child(1) {
  z-index: 1;
}
.feature-card:nth-child(2) {
  z-index: 2;
}
.feature-card:nth-child(3) {
  z-index: 3;
}
.feature-card:nth-child(4) {
  z-index: 4;
}
.feature-text {
  order: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 320px;
  padding: 32px;
}
@media (min-width: 768px) {
.feature-text {
    order: 1;
    min-height: 0;
    padding: 40px;
}
}
@media (min-width: 1280px) {
.feature-text {
    padding: 3.5rem;
}
}
.feature-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px 8px 12px;
  border: 0.5px solid var(--Asphalt-100);
  border-radius: 8px;
  color: var(--Asphalt-100);
  font-family: var(--font-headline-family);
  font-size: 12px;
  font-weight: 450;
  line-height: 1;
}
.feature-chip-mark {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background-color: var(--Asphalt-100);
}
.feature-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  flex: 1;
  width: 100%;
  max-width: 600px;
  gap: 0.75rem;
}
.feature-copy .h4,
.feature-copy .b2 {
  margin: 0;
  width: 100%;
}
.feature-copy .b2 {
  max-width: none;
  color: var(--Asphalt-50);
}
.feature-copy button {
  margin-top: 1rem;
  color: var(--Asphalt-50);
}
.feature-visual {
  position: relative;
  order: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 532px;
  min-height: 280px;
  box-sizing: border-box;
  overflow: hidden;
  background-color: var(--Asphalt-20);
  background-image: radial-gradient(var(--Asphalt-30) 1px, transparent 1px);
  background-size: 16px 16px;
}
@media (min-width: 768px) {
.feature-visual {
    order: 2;
    min-height: 100%;
    justify-self: end;
}
}
.feature-visual picture,
.feature-visual img,
.feature-visual video {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.feature-visual picture {
  overflow: hidden;
}