.um-stm-intro-block, .um-stm-intro-block * { box-sizing: border-box; }
    .um-stm-intro-block {
      --um-cream: #F8F0CD;
      --um-burgundy: #5C1A14;
      --um-orange: #D8682A;
      --um-warm-mute: #8C5A4C;
      --font-heading: "Unbounded", ui-sans-serif, system-ui, sans-serif;
      --font-display: "Josefin Sans", ui-sans-serif, system-ui, sans-serif;
      width: 100%; margin: 0; padding: 0;
      font-family: var(--font-display);
      background: color-mix(in oklab, var(--um-cream) 88%, #fff);
      color: var(--um-burgundy);
      -webkit-font-smoothing: antialiased;
    }
    .um-stm-intro-block .um-stm-intro {
      max-width: 1180px; margin: 0 auto;
      padding: 56px 24px 64px;
    }
    .um-stm-intro-block .um-stm-intro__head {
      max-width: 40rem; margin-bottom: 40px;
    }
    .um-stm-intro-block .um-stm-intro__kicker {
      font-size: 12px; font-weight: 700; letter-spacing: 0.2em;
      color: var(--um-orange); margin-bottom: 12px;
    }
    .um-stm-intro-block .um-stm-intro__title {
      margin: 0; font-family: var(--font-heading); font-weight: 800;
      font-size: clamp(26px, 3.5vw, 40px); line-height: 1.1; letter-spacing: -0.03em;
    }
    .um-stm-intro-block .um-stm-intro__dot { color: var(--um-orange); }
    .um-stm-intro-block .um-stm-intro__desc {
      margin: 16px 0 0; font-size: 16px; line-height: 1.6; color: var(--um-warm-mute); font-weight: 500;
    }
    .um-stm-intro-block .um-stm-intro__grid {
      display: grid; gap: 20px;
      grid-template-columns: 1fr;
    }
    .um-stm-intro-block .um-stm-intro__step {
      padding: 28px 24px;
      border: 1px solid color-mix(in oklab, var(--um-burgundy) 14%, transparent);
      background: var(--um-cream);
    }
    .um-stm-intro-block .um-stm-intro__num {
      font-family: var(--font-heading); font-weight: 800;
      font-size: 28px; color: var(--um-orange); line-height: 1; margin-bottom: 12px;
    }
    .um-stm-intro-block .um-stm-intro__step-title {
      margin: 0; font-family: var(--font-heading); font-weight: 700;
      font-size: 18px; letter-spacing: -0.02em;
    }
    .um-stm-intro-block .um-stm-intro__step-text {
      margin: 10px 0 0; font-size: 15px; line-height: 1.55; color: var(--um-warm-mute); font-weight: 500;
    }
    @media (min-width: 768px) {
      .um-stm-intro-block .um-stm-intro { padding: 64px 56px 80px; }
      .um-stm-intro-block .um-stm-intro__grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
    }
