/* ── IMAGE SECTIONS ──────────────────────────────────────── */
.img-section {
  position: relative;
  overflow: hidden;
  border-radius: var(--r-2xl);
}
.is-bg {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  z-index: 0;
}
.is-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.is-scrim--bottom {
  background: linear-gradient(to top,
    rgba(10,10,10,.97) 0%,
    rgba(10,10,10,.6)  45%,
    rgba(10,10,10,.1)  100%
  );
}
.is-scrim--side {
  background: linear-gradient(to right,
    rgba(10,10,10,.96) 0%,
    rgba(10,10,10,.65) 45%,
    transparent        100%
  );
}
.is-body { position: relative; z-index: 2; }

/* Variant A – Hero */
.img-section--hero { min-height: 480px; }
.img-section--hero .is-body {
  min-height: 480px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 16px;
  padding: 48px 40px;
  max-width: 760px;
}

/* Variant C – Split */
.img-section--split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 400px;
}
.is-col-img {
  position: relative;
  overflow: hidden;
}
.is-col-content {
  background: var(--bg-elevated);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding: 48px 44px;
}

/* ── TEXT TOKENS ─────────────────────────────────────────── */
.is-overline {
  font-size: 10px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--lime-500);
}
.is-title {
  font-family: var(--font-body);
  font-size: clamp(26px, 2.8vw, 42px);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.15;
  color: var(--text-1);
}
.is-desc {
  font-size: 15px;
  color: var(--text-2);
  line-height: 1.65;
  max-width: 520px;
}
.is-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

/* Showcase wrapper (internal DS use) */
.is-showcase       { margin: 0 40px 28px; }
.is-showcase:first-of-type { margin-top: 16px; }
