.story-outer {
  background: var(--page-bg);
  padding: 40px var(--page-margin) 60px;
}

.story-card {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  background-color: #f2ede1;
  /* --cloud-bg-url is injected by js/apply-images.js from cloudinary-config.js */
  background-image:
    linear-gradient(rgba(242,237,225,0.88), rgba(242,237,225,0.92)),
    var(--cloud-bg-url);
  background-size: cover;
  background-position: center;
  padding: 56px 60px 70px;
}

.story-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 28px;
}

.story-title {
  color: #2b2a28;
  font-size: clamp(30px, 3.6vw, 44px);
  font-weight: 800;
  margin: 0;
}

.story-brand-logo {
  height: 64px;
  width: auto;
  display: block;
}

.story-text {
  color: #4a4744;
  font-size: 18px;
  line-height: 1.75;
  max-width: 1000px;
  margin: 0 0 22px;
}

.story-mission {
  color: #201f1e;
  font-size: 19px;
  font-weight: 700;
  margin: 0 0 56px;
}

.entities-title {
  text-align: center;
  color: #2b2a28;
  font-size: clamp(26px, 3.2vw, 38px);
  font-weight: 800;
  margin: 0 0 32px;
}

.entities-panel {
  background: #f5e6b8;
  border-radius: 24px;
  max-width: 780px;
  margin: 0 auto;
  padding: 32px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.entity-card {
  flex: 1 1 260px;
  max-width: 300px;
  background: #191817;
  border-radius: 18px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  transition: transform 0.3s var(--ease-natural), box-shadow 0.3s var(--ease-natural);
}

.entity-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 22px rgba(0,0,0,0.25);
}

.entity-card img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

@media (max-width: 700px) {
  .story-card {
    padding: 40px 26px 48px;
  }

  .story-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .entities-panel {
    padding: 22px;
  }
}
