/* =========================
   How It Works
   ========================= */

.howWorks {
  background: var(--howWorks-bg, #f0efe2);
  padding: clamp(28px, 5vw, 80px) 0;
}

.howWorks__grid {
  display: grid;
  grid-template-columns: minmax(320px, 1.1fr) minmax(320px, 1fr);
  gap: clamp(18px, 4vw, 64px);
  align-items: start;
}

/* Image position modifiers (desktop) */
.howWorks--imgRight .howWorks__content { order: 1; }
.howWorks--imgRight .howWorks__media   { order: 2; }

.howWorks--imgLeft  .howWorks__content { order: 2; }
.howWorks--imgLeft  .howWorks__media   { order: 1; }

/* =========================
   Typography
   ========================= */

.howWorks__title {
  margin: 0 0 12px 0;
  font-family: "Optima", "URW Classico", "Segoe UI", serif;
  font-weight: 700;
  font-size: clamp(26px, 3vw, 44px);
  line-height: 1.1;
  color: #111;
}

.howWorks__intro {
  margin: 0 0 18px 0;
  max-width: 72ch;

  font-family: "Suisse Int'l", "Suisse Intl", "Inter", -apple-system,
               BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 1.65;
  color: #2a2a2a;
}

.howWorks__subheading {
  margin: 0 0 10px 0;

  font-family: "Suisse Int'l", "Suisse Intl", "Inter", -apple-system,
               BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.25;
  color: #111;
}

.howWorks__body {
  font-family: "Suisse Int'l", "Suisse Intl", "Inter", -apple-system,
               BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: clamp(13px, 1.05vw, 15px);
  line-height: 1.7;
  color: #2a2a2a;
}

/* Redactor 常见输出是 p 标签：控制段落间距 */
.howWorks__body p {
  margin: 0 0 14px 0;
}

.howWorks__body p:last-child {
  margin-bottom: 0;
}

/* =========================
   Image
   ========================= */

.howWorks__media {
  width: 100%;
}

.howWorks__img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px; /* 想直角就删掉 */
}

/* =========================
   Responsive
   ========================= */

/* Tablet: stack */
@media (max-width: 980px) {
  .howWorks__grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  /* 堆叠时，顺序固定：内容在上，图片在下 */
  .howWorks__content { order: 1; }
  .howWorks__media   { order: 2; }
}

/* Small mobile tweaks */
@media (max-width: 520px) {
  .howWorks__title {
    font-size: 28px;
  }
}
