/* Structured, editable modules used by data/case-study-content.json. */
.portfolio__module--editable-text {
  box-sizing: border-box;
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  padding: var(--space-48);
  background: var(--pf-bg);
  color: var(--pf-text);
  font-family: var(--pf-font);
  line-height: normal;
}

.portfolio__case-statement-eyebrow {
  position: absolute;
  inset-block-start: var(--space-32);
  inset-inline-start: var(--space-48);
  display: inline-flex;
  align-items: center;
  gap: var(--space-16);
  color: var(--pf-text-muted);
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-body2);
}

.portfolio__case-statement-brand {
  color: var(--pf-text);
}

.portfolio__case-statement-label,
.portfolio__case-statement-body,
.portfolio__case-statement-point-heading,
.portfolio__case-statement-point-body {
  margin: 0;
}

.portfolio__case-statement-label {
  grid-column: 2 / span 2;
  color: var(--pf-text);
  font-size: clamp(var(--font-size-body2), 1.75vw, var(--font-size-title1));
  font-weight: var(--font-weight-semibold);
  line-height: 1.1;
  white-space: pre-line;
}

.portfolio__case-statement-body {
  grid-column: 5 / span 6;
  color: var(--pf-text);
  font-size: clamp(var(--font-size-body1), 4vw, calc(var(--font-size-display1) * 1.25));
  font-weight: var(--font-weight-regular);
  line-height: 1.12;
  white-space: pre-line;
}

.portfolio__case-statement-points {
  display: grid;
  grid-column: 7 / span 5;
  gap: clamp(var(--space-16), 4vw, var(--space-48));
}

.portfolio__case-statement-point {
  display: grid;
  gap: var(--space-8);
}

.portfolio__case-statement-point-heading {
  color: var(--pf-text);
  font-size: clamp(var(--font-size-body2), 2vw, var(--font-size-title1));
  font-weight: var(--font-weight-semibold);
  line-height: 1.1;
}

.portfolio__case-statement-point-body {
  color: var(--pf-text);
  font-size: clamp(var(--font-size-caption), 1.7vw, var(--font-size-body1));
  font-weight: var(--font-weight-regular);
  line-height: 1.2;
}

@media (max-width: 540px) {
  .portfolio__module--editable-text {
    padding: var(--space-24);
  }

  .portfolio__case-statement-eyebrow {
    inset-block-start: var(--space-16);
    inset-inline-start: var(--space-24);
    gap: var(--space-8);
  }

  .portfolio__case-statement-label {
    grid-column: 2 / span 3;
    font-size: var(--font-size-caption);
  }

  .portfolio__case-statement-body {
    grid-column: 5 / span 7;
    font-size: clamp(var(--font-size-caption), 4vw, var(--font-size-body1));
  }

  .portfolio__case-statement-points {
    grid-column: 6 / span 6;
    gap: var(--space-8);
  }

  .portfolio__case-statement-point {
    gap: var(--space-4);
  }

  .portfolio__case-statement-point-heading {
    font-size: var(--font-size-caption);
  }

  .portfolio__case-statement-point-body {
    font-size: clamp(var(--font-size-caption), 2.7vw, var(--font-size-body2));
  }
}
