/* Section: featured story (the Souq free shop). The photo overlaps the hero's
   forest ground through this section's own background, not a negative margin. */
.souq {
  --overlap: clamp(4rem, 13vw, 11rem);
  background: linear-gradient(to bottom, var(--forest) var(--overlap), var(--paper) var(--overlap));
  padding-block-end: var(--section);
}

.souq__frame {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--forest-deep);
}
.souq__frame img {
  position: absolute;
  inset-inline: 0;
  inset-block-start: -12%;
  inline-size: 100%;
  block-size: 124%;
  object-fit: cover;
  will-change: transform;
}
.js .souq__frame {
  clip-path: inset(0 7% 0 7%);
  transition: clip-path 1.2s cubic-bezier(.2, .7, .2, 1);
}
.js .souq__frame.is-in { clip-path: inset(0); }

.souq__caption {
  margin-block-start: .875rem;
  font-size: 1rem;
  color: var(--ink-muted);
}

.souq__body {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 6vw, 6rem);
  margin-block-start: clamp(3rem, 6vw, 5rem);
}
.souq__title {
  position: sticky;
  inset-block-start: calc(var(--header-h) + 2.5rem);
  align-self: start;
  font-size: clamp(2.1rem, 3.4vw + .8rem, 3.75rem);
}
.souq__title em { color: var(--terracotta-ink); }

.souq__text > p + p { margin-block-start: 1.25rem; }
.souq__text .souq__quote,
.souq__text blockquote {
  margin-block: 2rem;
  margin-inline: 0;
  font: italic 400 clamp(1.6rem, 1.6vw + 1.1rem, 2.25rem)/1.2 var(--font-display);
  letter-spacing: -.01em;
  color: var(--forest);
}
.souq__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 2rem;
  margin-block-start: 2.25rem;
}

@media (max-width: 53.75em) {
  .souq__frame { aspect-ratio: 4 / 3; }
  .souq__body { grid-template-columns: minmax(0, 1fr); }
  .souq__title { position: static; }
}
@media (prefers-reduced-motion: reduce) {
  .js .souq__frame { clip-path: none; }
}
