.vmoto-product-story {
  --vmoto-ink: #111827;
  --vmoto-muted: #64748b;
  --vmoto-surface: #f7f8fa;
  --vmoto-accent: #c8102e;
  color: var(--vmoto-ink);
  margin: 76px auto 52px;
  max-width: 1240px;
  padding: 0 24px;
}

.vmoto-product-story__hero {
  max-width: 780px;
  margin: 0 auto 44px;
  text-align: center;
}

.vmoto-product-story__eyebrow {
  color: var(--vmoto-accent);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.vmoto-product-story h2,
.vmoto-product-story h3,
.vmoto-product-story p {
  color: inherit;
}

.vmoto-product-story__hero h2,
.vmoto-product-story__specifications > h2 {
  font-size: clamp(2rem, 4vw, 3.65rem);
  line-height: 1.05;
  margin: 0 0 18px;
}

.vmoto-product-story__intro {
  color: var(--vmoto-muted);
  font-size: 1.08rem;
  line-height: 1.7;
}

.vmoto-product-story__permit {
  border: 1px solid #dce1e7;
  display: inline-block;
  font-size: .9rem;
  font-weight: 600;
  margin: 14px 0 0;
  padding: 8px 14px;
}

.vmoto-product-story__metrics {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, 1fr);
  background: #dce1e7;
  margin: 0 0 64px;
}

.vmoto-product-story__metric {
  background: var(--vmoto-surface);
  min-height: 128px;
  padding: 27px 24px;
}

.vmoto-product-story__metric span {
  color: var(--vmoto-muted);
  display: block;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .08em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.vmoto-product-story__metric strong {
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.25;
}

.vmoto-product-story__feature {
  align-items: center;
  display: grid;
  gap: clamp(30px, 6vw, 84px);
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  margin: 0 0 88px;
}

.vmoto-product-story__feature--reverse .vmoto-product-story__feature-copy { order: 2; }
.vmoto-product-story__feature--reverse .vmoto-product-story__feature-image { order: 1; }

.vmoto-product-story__feature h3,
.vmoto-product-story__spec-group h3 {
  font-size: clamp(1.55rem, 2.6vw, 2.55rem);
  line-height: 1.15;
  margin: 0 0 18px;
}

.vmoto-product-story__feature-copy > div {
  color: var(--vmoto-muted);
  line-height: 1.7;
}

.vmoto-product-story__feature-image { margin: 0; }
.vmoto-product-story__feature-image img { display: block; height: auto; width: 100%; }

.vmoto-product-story__specifications {
  background: var(--vmoto-surface);
  margin: 0 -24px 60px;
  padding: clamp(40px, 7vw, 88px) 24px;
}

.vmoto-product-story__specifications > h2 {
  margin: 0 auto 36px;
  max-width: 1192px;
  text-align: center;
}

.vmoto-product-story__spec-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 auto;
  max-width: 1192px;
}

.vmoto-product-story__spec-group { background: #fff; padding: 28px; }
.vmoto-product-story__spec-group h3 { font-size: 1.2rem; }
.vmoto-product-story__spec-group dl { margin: 0; }
.vmoto-product-story__spec-group dt,
.vmoto-product-story__spec-group dd {
  border-top: 1px solid #e7e9ed;
  font-size: .92rem;
  margin: 0;
  padding: 10px 0;
}
.vmoto-product-story__spec-group dt { color: var(--vmoto-muted); float: left; max-width: 55%; }
.vmoto-product-story__spec-group dd { font-weight: 600; text-align: right; }
.vmoto-product-story__spec-group dd::after { clear: both; content: ''; display: block; }

.vmoto-product-story__cta {
  background: var(--vmoto-ink);
  color: #fff;
  padding: clamp(30px, 5vw, 54px);
  text-align: center;
}
.vmoto-product-story__cta p { color: #fff; font-size: clamp(1.4rem, 2.5vw, 2rem); font-weight: 600; margin: 0 0 20px; }
.vmoto-product-story__cta .button { background: var(--vmoto-accent); border-color: var(--vmoto-accent); color: #fff; }

@media (max-width: 767px) {
  .vmoto-product-story { margin-top: 48px; padding: 0 16px; }
  .vmoto-product-story__metrics { grid-template-columns: repeat(2, 1fr); margin-bottom: 48px; }
  .vmoto-product-story__metric { min-height: 108px; padding: 20px 16px; }
  .vmoto-product-story__feature,
  .vmoto-product-story__feature--reverse { display: flex; flex-direction: column; gap: 24px; margin-bottom: 54px; }
  .vmoto-product-story__feature--reverse .vmoto-product-story__feature-copy { order: 1; }
  .vmoto-product-story__feature--reverse .vmoto-product-story__feature-image { order: 2; }
  .vmoto-product-story__specifications { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; }
  .vmoto-product-story__spec-grid { grid-template-columns: 1fr; }
}
